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');

preferences:
43.65 ms | 402 KiB | 5 Q