2011-07-01 5 views
7

私はPHPでのfile_get_contentsを使用していますが、それはいくつかのエラーがスローされます。のfile_get_contents()エラー

私のコード

#try to fetch from remote 
$this->remotePath = "http://some-hostname.com/blah/blah.xml 
$fileIn = @file_get_contents($this->remotePath); 

エラー:

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /virtual/path/to/file/outputFile.php on line 127 

Warning: file_get_contents(https://some-host-name/data/inputFile.xml) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /virtual/path/to/file/outputFile.php on line 127 

任意のアイデアを?私のコンピュータで正常に動作しましたが、Webサーバーに移植しても機能しなくなりました。

+0

Btw、xmlをロードしたいので、allow_url_fopenを設定した後で、関数simplexml_load_fileを使用してください。 –

答えて

12

サーバーにはallow_url_fopenプロパティがtrueに設定されている必要があります。無料のウェブホストにいることは、悪用を防ぐために通常は無効になっているため、説明しています。ホスティングにお金を払った場合は、ホストに連絡を取り、ホスティングを可能にします。

この設定を変更することができない場合は、cURLライブラリを参照してください。

+1

それはセキュリティリスクですか? –

+2

@Tanner:悪用を防ぐためには、ほとんどの場合そうです。 –

+0

そのファイルは、私の内部サーバーからではなく、リモートサーバーからのものであるため、回避する方法はありますか。 –

4

あなたのサーバでは「allow_url_fopen」の設定がfalseであると思われ、file_get_contents()でURLを使用することはできません。

代わりにCURLを使用してください。これは、他のサーバーとの通信のより効率的な方法です。