0

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

パーミッションの問題のようですが、外部からではなく「ローカル マシン」から動作するのはなぜですか? どうすればこれを修正できますか?

ご協力いただきありがとうございます!!

4

2 に答える 2

1

権限を変更し、管理者としてログインしてもエラーが持続する前に、このエラーが発生しました。

「サブフォルダー」と書く代わりに、「C:\ wamp\www\myproject\subfolder」と書いた関数opendir()の絶対パスを指定することでこれを解決し、これで問題が解決しました!

ありがとう

于 2014-05-23T17:04:47.930 に答える