0
我有執行目錄/文件列表的php代碼。但是,按對象調用時它不起作用。遞歸函數只能在沒有類的情況下工作,但不能與類一起工作
下面的代碼工作:
function getDirContents($dir, &$results = array()){
$files = scandir($dir);
foreach($files as $key => $value){
$path = realpath($dir.DIRECTORY_SEPARATOR.$value);
if(!is_dir($path)) {
$results[] = $path;
} else if($value != "." && $value != "..") {
getDirContents($path, $results);
$results[] = $path;
}
}
// print_r($results);
return $results;
}
var_dump(getDirContents('C:\xampp\htdocs\skillup\d4a1'));
下面的代碼不起作用:
class Dira {
function getDirContents($dir, &$results = array()){
$files = scandir($dir);
foreach($files as $key => $value){
$path = realpath($dir.DIRECTORY_SEPARATOR.$value);
if(!is_dir($path)) {
$results[] = $path;
} else if($value != "." && $value != "..") {
getDirContents($path, $results);
$results[] = $path;
}
}
// print_r($results);
return $results;
}
}
$obj = new Dira;
$arr = array();
var_dump($obj->getDirContents('C:\xampp\htdocs\skillup\d4a1'));
這是你的整個代碼? – ksjohn
因爲你不知道'$ this'是什麼? –
是的,但顯然只有在目錄的給定路徑內沒有子目錄的情況下它才能與對象一起使用 –