opendir に奇妙な問題があります (glob にも同じ問題があります):
$dir = "Y:\\\\foldername\\";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file\n";
}
closedir($dh);
}
}
Y:\ は認証付きのネットワーク フォルダーです。私の Web サーバー名は testweb で、このスクリプトは tree.php と呼ばれます。残念ながら、私の環境は Windows ベースです (php 5.2.5 ISAPI、Windows 2003 サーバー)。
IIS が実行されている同じマシン (http://testweb/tree.php) からスクリプトを開くと、すべて正常に動作しますが、別のマシン (ラップトップなど) から同じアドレスに接続すると、次のエラーが発生します。
警告: opendir().. はディレクトリを開くことができませんでした。エラーなし IN D:\web\tree.php
パーミッションの問題のようですが、外部からではなく「ローカル マシン」から動作するのはなぜですか? どうすればこれを修正できますか?
ご協力いただきありがとうございます!!