Revision: 38141
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 26, 2010 16:50 by noelj
Initial Code
<?php
function dir_recursive($path, $parent = ''){
$files = array();
$d = dir($path);
while (false !== ($entry = $d->read())) {
if($entry == '.' || $entry == '..')
continue;
//if this is a directory, loop inside its contents
if(is_dir($d->path.'/'.$entry)){
//if parent dir given, then create another array dimension to be used to store files under this parent
if(!empty($parent)){
$files[$parent][$entry] = dir_recursive($d->path.'/'.$entry, $entry);
}else
$files[$entry] = dir_recursive($d->path.'/'.$entry, $entry);
}else
$files[$entry] = $entry;
//reset parent dir given, so it won't create another array dimension for the next loop of subdirectory
$parent = '';
}
$d->close();
return $files;
}
//usage
$files = dir_recursive('.');
echo '<pre>'; print_r($files);
?>
Initial URL
Initial Description
Initial Title
Scan directory contents recursively
Initial Tags
files
Initial Language
PHP