4

URL 経由で取得できる XML ファイルがあります。を使用してファイルを取得できることはわかっていますが、fopenスクリプトが を使用しているのを見たことがありますcurlcurloverfopenを使用して XML ファイルを取得する利点はありますか?

4

3 に答える 3

3

allow_url_fopenでリモート ファイルを開く場合に必要な をfopen無効にすることができます。そのため、不可能な状況がありfopen('http://...')ます。
注:この回答では「」と言いますが、fopenリモートファイルにアクセスできるすべてのPHP関数とまったく同じです:fopen、、、...file_get_contentssimplexml_load_file

一方、curlは拡張機能であり、常に有効になっているわけではありません。


curl の優れている点の 1 つは、構成が非常に簡単なことと、多数の既存のオプションがあることです(「参考文献」を参照curl_setopt) 。

がリモート ファイルにアクセスする方法を構成するにはfopen、少しトリッキーです。通常、ストリームを操作する必要があります(たとえば、こちらを参照)。そして、一般的に言えば、ストリームを習得している開発者よりもcurlを知っている人の方が多いです。


最も安全な方法 - 特に、アプリケーションが管理者ではないサーバーにデプロイされ、再構成できない場合:

  • 1 つの解決策を試す
  • そして、それがうまくいかない場合は、他のものを試してください
于 2010-04-29T18:27:45.730 に答える
1

fopen は使い方が簡単で、すべてのサーバー設定がデフォルトで curl をサポートしているわけではないと思います。fopen が問題なく動作する場合は、おそらくそれが最良の選択です。

于 2010-04-29T18:28:17.473 に答える
1

さて、SimpleXML を使用してファイルをロードする場合は、

simplexml_load_file($filename);

ただし、一部のサーバーでは、この関数からの URL の読み込みが制限されます。この場合、cURL に制限されます。

于 2010-04-29T18:28:37.937 に答える