0

次のコードがあります。

$file_name = "1234";
$filename = "L:\\videoette_converter\\batch_files\\".$file_name.'.bat';
if (!$handle = fopen($filename, 'a')) {
     echo "Cannot open file ($filename)";
     exit;
}

そのコードから次のエラーが発生します。

警告: fopen(L:\videoette_converter\batch_files\1234.bat) [function.fopen]: ストリームを開くことができませんでした: C:\wamp\www\videoette_converter\index.php の 47 行目にそのようなファイルまたはディレクトリはありません

そして私のphpからのデバッグ行

ファイルを開けません (L:\videoette_converter\batch_files\1234.bat)

ただし、フォルダーL:\videoette_converter\batch_filesはマップされたドライブとして存在し、「全員」に完全なアクセス許可を与えています。何が問題なのですか?

4

1 に答える 1

0

途中でドメイン コントローラが存在しないことは確かですか?

ファイルを提供する Windows マシンが Active Directory ドメインにある場合:

1) WAMP を実行するマシンは、同じドメインにある必要があります。

2) WAMP マシンで Apache サービスを実行するために使用するアカウントには、アクセスする共有に対して少なくとも読み取り権限が必要です。「Local System」または「wampapache」として Apache サービスを実行する代わりに、ドメイン ユーザー アカウントを指定する必要があります。(PS: この種の開発では、Wamp よりも XAMPP の方が好きですが、それはおそらく個人的な好みです)

また、ドライブ文字の代わりに UNC パスを使用した方が id の方が良いと思います。それはいつもそのように私のために働いた. エスケープされたバックスラッシュを使用する必要はありません。単一の前方スラッシュに置き換えることができます:

//yourwinserver/sharename/path/to/file.bat

于 2012-10-28T10:22:56.700 に答える