5

基本的に缶に書かれていること:

if(is_dir($dir))
    echo $dir . " is a directory\n";

if(is_readable($dir))
    echo $dir . " is readable\n";

if($this->handle = opendir($dir))
    echo $dir . " opened\n";

戻り値:

\\HTPC\MOVIES はディレクトリです

\\HTPC\MOVIES を開きました

どれが変ですか?ディレクトリ内のファイルを反復処理できますが、明らかに読み取れません。まだファイルを読み取ることができると言ったように、それは実際には問題ではありませんが、少し奇妙だと思います。

誰か考えがありますか?

4

2 に答える 2

3

パーミッションエラーだったようです。その特定のフォルダーに割り当てられたのはホームグループでした。ホームグループは実際にはネットワーク上で使用されていませんでした。ホームグループを削除してユーザー グループを再度追加すると、is_readable が true を返しました。opendir が true を返したのに is_readable が返されなかったのはまだ奇妙です。読み取り不能なものは、開いたときに失敗することが確実に予想されます。

助けてくれてありがとう。

于 2012-06-03T13:17:21.463 に答える
0

ディレクトリに入らないようにする場合は、セキュリティ ポリシーを確認し、トラバーサル チェックのバイパスなどを探します。

そのチェックをバイパスしている場合は、ACL で禁止されているディレクトリに入ることができますが、コンテンツを読み取ることはできません。

ツリー全体に対して ACL が慎重かつ正確に設定および選択されている場合、通常はこれに触れる必要はありません。

于 2012-06-03T13:00:04.230 に答える