2012-04-26 24 views
4

私は、IPアドレスまたはコンピュータ名でLANネットワーク上のphpファイルを読むときに使用します。IPアドレスまたはコンピュータ名でネットワーク上のphpファイルを読み取る

$url = "\\\\192.168.0.200\\testshare\\1.txt"; 
     if(file_exists($url) == TRUE) { 
      echo "OK"; 
     } else { 
      echo "Error"; 
     } 

結果:常に「エラー」です。 関数file_get_contents($ url、true)を使用している場合。結果:

Warning: file_get_contents(\\192.168.0.200\testshare\1.txt) [function.file-get-contents]: failed to open stream: Permission denied in D:\services\htdocs\test.php on line 3 

もちろん、「testshare」フォルダは共有設定されており、誰もが完全に制御できます。私はテープのWebブラウザ:\ 192.168.0.200 \ testshare \ 1.txtそれはファイル1.txtの内容を読み込みます。 私を助けることができますか?すべてのアイデアは私を助け、私は非常にありがとう。ここで

+0

他のパソコンにファイルの存在を確認できないと思います –

+0

どのバージョンのウィンドウですか? –

+0

ここでの技術用語は、* SMB共有*にアクセスしようとしていることです。 PHPを使った経験はありません。ブラウザ(IE?)に入力すると、OS(Windows)がそれを処理します。これは明らかに機能します。 – deceze

答えて

2

は、あなたがローカルに(勝利7)を行うことができます方法ですそのリモートサーバ

を右クリック、デスクトップ上の空白のフォルダを作成し、その中にあなたのファイルを置けば、あなたはいくつかのファイアウォールのハードルを飛び越えるする必要がある場合がありますそれをクリックし、特定の人と共有をクリックし、次にドロップダウンオプションボックスで誰もを選択します。

あなたは

testshare (file://YOUR-PC-NAME/Users/YourAcount/Desktop/testshare)ようにそれからちょうどそのようにそのアドレスを使用見えアドレス与えられます:リモートサーバの

<?php 
$url = "//YOUR-PC-NAME/Users/YourAcount/Desktop/testshare/1.txt"; 
if(file_exists($url) == TRUE) { 
    echo "OK"; 
} else { 
    echo "Error"; 
} 
?> 

は、お使いのソフトウェアファイアウォールのポート137445を許可するように覚えて、またこれがあるとセキュリティ上のリスクはありませんので、WANトラフィックに外部からアクセスできるようにしないでください。私はxpがデフォルトでC:ドライブを共有していた時代を覚えています。

+0

はLOCALでは動作しますが、別のシステムのネットワークドライブでは動作しません... –

+0

http://stackoverflow.com/questions/2874796/fopen-wont-open-files-across-network これは私を助けました... –

+0

@ RaheelHasanあなたもこのおもしろい答えを見つけるかもしれません。http://stackoverflow.com/questions/14367687/read-file-on-a-network-drive/14367719#14367719 –

1

それはタイプミスだけの問題です、あなたは/ではなく\

を使用する必要があります
$url = "//192.168.0.200/testshare/1.txt"; 
関連する問題