//test1 test是根据scandir()函数写的
public function test($dir,$test,&$data)
{
if (is_dir($dir)) {
if (!$test){
$test = array_diff(scandir($dir,0), ['.', '..']);
}
foreach ($test as $value) {
if (is_dir($dir.'/'.$value)) {
$this->test($dir .'/'. $value,array_diff(scandir($dir.'/'.$value,0), ['.', '..']),$data);
}
if (is_file($dir.'/'.$value)){
$data[]= $dir.'/'.$value;
}
}
}
return $data;
}
public function test1()
{
$test =[];
$data =[];
print_r($this->test($dir = __DIR__.'/../..',$test,$data));
}
//这是个不错的方法
function searchDir($path,&$data){
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read()){
if($file!='.'&& $file!='..'){
$this->searchDir($path.'/'.$file,$data);
}
}
$dp->close();
}
if(is_file($path)){
$data[]=$path;
}
}
function getDir($dir = __DIR__.'/../'){
$data=array();
$this->searchDir($dir,$data);
print_r($data);
}