3

ネットワークドライブをホームネットワークのコンピューターにマッピングしました。今私はPHP経由でそれにアクセスしようとしています-私はこの簡単なテストを行いました:

echo opendir('Z:\\');

これは私に与えます:

Warning: opendir(Z:\) [function.opendir]: failed to open dir: No error in C:\wamp\www\webs\tester-function.php  on line 3

私はここで何を間違えましたか?

ユーザーがUNCパスを入力したくないので、ユーザーのUNCパスを取得する方法はありますか?アクセスしようとするとうまくいく可能性がありますか?これはMicrosoft言語で可能ですが、PHPにこれを実行させる方法がわかりません-おそらくcmd.exeコマンドを使用しますか?

マップされたドライブは、私が見ることができ、アクセスできるので存在することに注意してください。また、そのドライブにアクセスできれば、これについて不平を言うと思いますので、権限の問題ではないようです...そうですか?

助けてくれてありがとう

4

3 に答える 3

5

opendir()へのユーザー投稿メモには次のものがあります。

このopendir関数を使用してネットワークドライブにアクセスしようとしました。ネットワークドライブにアクセスすることはほとんど不可能だという多くの投稿を読んで、ついに答えを見つけました。同じマシンまたは別のマシンのいずれかでPHPを使用してネットワークドライブにアクセスするには、2つの手順に従う必要があります。

この場合、ユーザー権限が実際に問題であるように見えました。これは、PHP/Webサーバーが実行されているユーザーによってはユーザー権限とは異なる場合があります。

于 2010-04-07T13:48:56.203 に答える
4

[スタート]->[ファイル名を指定して実行]に移動し(Windows 7を使用している場合は検索ボックスを使用)、Services.mscと入力し、Enterキーを押してServicesMMCを開きます。Apacheサービスを見つけます。WAMPを使用したことがないので、名前がわかりません。うまくいけば、それは「Apache」という単語で始まるので、見つけるのはそれほど難しくないはずです。サービスを右クリックして、[プロパティ]を選択します。[ログオン]タブに切り替えます。[このアカウント:]の横にあるラジオボタンを選択し、Apacheを実行するユーザーアカウントの資格情報を入力します。ネットワーク/ドメインアカウントの場合は、「DOMAIN \ user」構文を使用します(または[参照]ボタンを使用してアカウントを検索します)。[OK]を選択して、Apacheサービスを再起動します。「httpd.exe」を探して、変更が機能したことを確認します

参照http://board.phpbuilder.com/board/showthread.php?t=10371870&page=2

于 2012-06-25T09:38:16.230 に答える
3

シンプルで "\\\\server\\dir\\subfolder"、パスとして:を使用します。「サーバー」にアクセスできることを確認してください。

私のために働きます。
$arquivo = "\\\\server\\dir\\subfolder\\file.txt"; echo is_file($arquivo); //print 1.

于 2013-09-10T18:43:51.713 に答える