次のコードは、ディレクトリ、ディレクトリ内のサブディレクトリ、およびその中のファイルを表示するためのものです。関数を使用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);
何が問題ですか ?ディレクトリ階層を取得できないのはなぜですか?