- explode: documentation ( source)
<?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');