3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Gathers information about files in a directory. * * Prepares an array containing information about files * in a directory, including all sub-directories. The * information returned includes the file name, path * and size. * * @author AcademyIntl <webmaster@goodhosting.co> * @example $fileData = prepareDir('.'); * @param string $origin The directory to start from. * @return array Info about the files in that directory. */ function prepareDir($origin) { $fileData = array(); $dir = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($origin), FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS); foreach ($dir as $path => $object) if ($object->isFile()) $fileData[] = array( 'name' => explode('.', $object->getFilename())[0], 'path' => explode(DIRECTORY_SEPARATOR, $path, 2)[0], 'size' => $object->getSize(), ); return $fileData; } $fileData = prepareDir('/tmp');
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught RuntimeException: SplFileInfo::isFile(): open_basedir restriction in effect. File(/tmp/..) is not within the allowed path(s): (/tmp:/in:/etc) in /in/WXYbv:25 Stack trace: #0 /in/WXYbv(25): SplFileInfo->isFile() #1 /in/WXYbv(35): prepareDir('/tmp') #2 {main} thrown in /in/WXYbv on line 25
Process exited with code 255.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
42.81 ms | 401 KiB | 8 Q