0

次のコードは、ディレクトリ、ディレクトリ内のサブディレクトリ、およびその中のファイルを表示するためのものです。関数を使用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);

何が問題ですか ?ディレクトリ階層を取得できないのはなぜですか?

4

1 に答える 1

0
chmod(realpath(dirname(__FILE__)).'/'.$dir_list[$var], 0777);
于 2013-10-25T06:04:19.923 に答える