add recursive dir function
This commit is contained in:
parent
c02cff9004
commit
2fa74a0763
|
@ -34,4 +34,42 @@ class mydir{
|
|||
{
|
||||
return $this->list[count($this->list)-1];
|
||||
}
|
||||
|
||||
function recursive($dir)
|
||||
{
|
||||
$files = array();
|
||||
if ($handle = opendir($dir))
|
||||
{
|
||||
while (false !== ($file = readdir($handle)))
|
||||
{
|
||||
if ($file != "." && $file != "..")
|
||||
{
|
||||
if(is_dir($dir.'/'.$file))
|
||||
{
|
||||
$dir2 = $dir.'/'.$file;
|
||||
$files[]=$dir2;
|
||||
$files[] = $this->recursive($dir2);
|
||||
} else {
|
||||
$files[] = $dir.'/'.$file;
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
}
|
||||
return $this->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;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue