PHP递归获取目录内所有文件的实现方法
如下所示:
/**
*递归获取文件夹内所有文件
*返回一个TREE结构的文件系统
*@paramstring$dir
*@paramarray$filter
*@returnarray$files
*/
functionscan_dir($dir,$filter=array()){
if(!is_dir($dir))returnfalse;
$files=array_diff(scandir($dir),array('.','..'));
if(is_array($files)){
foreach($filesas$key=>$value){
if(is_dir($dir.'/'.$value)){
$files[$value]=scan_dir($dir.'/'.$value,$filter);
unset($files[$key]);
continue;
}
$pathinfo=pathinfo($dir.'/'.$value);
$extension=array_key_exists('extension',$pathinfo)?$pathinfo['extension']:'';
if(!empty($filter)&&!in_array($extension,$filter)){
unset($files[$key]);
}
}
}
unset($key,$value);
return$files;
}
以上就是小编为大家带来的PHP递归获取目录内所有文件的实现方法全部内容了,希望大家多多支持毛票票~