note 104824 added to function.readdir
| From: | mrlemonade at osu1 dot php dot net | Date: | Sat, 09 Jul 2011 10:34:26 +0000 |
| Subject: | note 104824 added to function.readdir | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-181373@lists.php.net to get a copy of this message | ||
Get all files on recursive directories in single array.
/*
* mrlemonade ~
*/
function getFilesFromDir($dir) {
$files = array();
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if(is_dir($dir.'/'.$file)) {
$dir2 = $dir.'/'.$file;
$files[] = getFilesFromDir($dir2);
}
else {
$files[] = $dir.'/'.$file;
}
}
}
closedir($handle);
}
return array_flat($files);
}
function array_flat($array) {
foreach($array as $a) {
if(is_array($a)) {
$tmp = array_merge($tmp, array_flat($a));
}
else {
$tmp[] = $a;
}
}
return $tmp;
}
// Usage
$dir = '/data';
$foo = getFilesFromDir($dir);
print_r($foo);
----
Server IP: 202.182.182.183
Probable Submitter: 119.110.69.78
----
Manual Page -- http://www.php.net/manual/en/function.readdir.php
Edit -- https://master.php.net/note/edit/104824
Del: integrated -- https://master.php.net/note/delete/104824/integrated
Del: useless -- https://master.php.net/note/delete/104824/useless
Del: bad code -- https://master.php.net/note/delete/104824/bad+code
Del: spam -- https://master.php.net/note/delete/104824/spam
Del: non-english -- https://master.php.net/note/delete/104824/non-english
Del: in docs -- https://master.php.net/note/delete/104824/in+docs
Del: other reasons-- https://master.php.net/note/delete/104824
Reject -- https://master.php.net/note/reject/104824
Search -- https://master.php.net/manage/user-notes.php