以下代碼旨在顯示目錄以及目錄內的子目錄和其中的文件。我用chmod
函數來訪問目錄。爲什麼我沒有獲得目錄層次結構?
此代碼運行但不顯示目錄層次結構,這意味着它無法列出子目錄和裏面的文件。
當我運行該腳本,我得到這樣的警告:
Warning: chmod(): No such file or directory in E:\Installed_Apps\xampp\htdocs\dlist.php on line 5
-
#recursive function
function directory_f_lister($root) {
$dir_list = scandir($root);
for($var=0;$var<count($dir_list);$var++) {
$bool = chmod($root.$dir_list[$var], 0777);
if(is_readable($root.$dir_list[$var])) {
if(is_dir($root.$dir_list[$var])) {
if($dir_list[$var] === "." || $dir_list[$var] === "..") continue;
echo "<h3>Name of directory $dir_list[$var]</h3>";
echo "<br />";
$dh = opendir($root.$dir_list[$var]);
while(($name = readdir($dh)) !== false) {
if(is_dir($root.$dir_list[$var].$name)) {
if($dir_list[$var] === "." || $dir_list[$var] === "..") continue;
echo "Name of directory : <strong> $name </strong>";
echo "<br />";
directory_f_lister($root.$dir_list[$var].$name);
}else {
echo $name;
echo "<br/>";
}
}
}
} else { "<b>else statement <br /> </b>"; }
}
}
directory_f_lister(DIRECTORY_SEPARATOR);
問題是什麼?爲什麼我沒有獲得目錄層次結構?
這個錯誤信息是不是真的很清楚? – Itay
它有幫助嗎?您必須使用print_r($ root。$ dir_list [$ var])來檢查它返回的路徑或print_r(實際路徑(dirname(__ FILE __))。'/'。$ dir_list [$ var]); –
http://stackoverflow.com/questions/4202175/php-script-to-loop-through-all-of-the-files-in-a-directory像這樣的東西可能會幫助 –