PHP でのネットワーク ドライブ上のファイル アクセスのトラブルシューティング
問題: Xampp を実行している Windows サーバーで PHP を使用する場合、 Apache がサービスとして実行されている場合、特定の資格情報でマウントされたネットワーク ドライブにあるファイルへのアクセスは失敗します。
調査:
ファイル アクセスに使用されるコード:
<code class="php"><?php echo shell_exec("whoami"); fopen('X:\text.txt',"r"); ?></code>
次のエラーが発生します:
theservername\thelocaluser Warning: fopen(X:\text.txt) [function.fopen]: failed to open stream: No such file or directory
解決策:
この問題は、ネットワークにマップされたドライブには個々のユーザーのみがアクセスでき、アクセスできないために発生します。サービスによって利用されます。代わりに、UNC パスを直接使用する必要があります:
<code class="php">fopen('\\server\share\text.txt', 'r');</code>
注意:
ただし、PHP のファイルシステム関数を使用して UNC パスにアクセスする場合は、いくつかの制限が存在します:
以上がXampp 使用時に PHP でネットワーク ドライブ上のファイル アクセスの問題をトラブルシューティングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。