7

「\\X-Drive\Public\Data」のパスを持つ外部ハード ドライブに移動するドライブ文字 X:\ にマップされたネットワーク ドライブがあります。

Zend Server と Apache を使用しています。

私のPHPコマンドは簡単です

$isFolder = is_dir("x:/");
echo($isFolder); //FALSE

知っておくべきこと:

コード:

$isFolder = is_dir("c:/");
echo($isFolder); //TRUE

期待どおりに動作します。

Zend Apache サービスを管理者ユーザーとして実行しています。タスク マネージャーで httpd.exe プロセスが正しいユーザーを表示するため、これが正しく機能していることはわかっています。

ドライブは実際にマップされています。Zend Apacheが無駄に使用するのと同じユーザーを含めるために、それを複数のユーザーにマッピングしようとしました。

この件に関する投稿はすべて読みました。私が遭遇したすべての問題は、ユーザーのアクセス許可または入力ミスが原因で発生します。私の問題がどちらのカテゴリにどのように分類されるかわかりません。

私も試しました:

system('net use X: "\\x-drive\public" password1 /user:username /persistent:no');
$isFolder(is_dir("x:/"));
echo($isFolder); //FALSE

Windows Vista x64 を実行していますが、製品コードは Windows 7 x64 で実行されます。

他にどのような問題が発生する可能性がありますか?

4

1 に答える 1

8

ネットワーク共有の場合は、UNC 名を使用する必要があります: "//server/share/dir/file.ext" ソース

IP またはホスト名を使用すると、正常に動作するはずです。

$isFolder = is_dir("\\\\NAS\\Main Disk");
var_dump($isFolder); //TRUE

$isFolder = is_dir("//NAS/Main Disk");
var_dump($isFolder); //TRUE

$isFolder = is_dir("N:/Main Disk");
var_dump($isFolder); //FALSE
于 2012-11-06T23:37:39.453 に答える