4

我有一个可以通过 URL 获取的 XML 文件。我知道我可以使用 获取文件fopen,但有时我看到脚本使用curl. 使用curloverfopen获取 XML 文件有优势吗?

4

3 回答 3

3

allow_url_fopen,如果你想用它打开一个远程文件,这是必需的fopen,可以禁用;所以,有些情况fopen('http://...')是不可能的。
注意:在这个答案中,我说“ fopen”,但它与所有可以访问远程文件的 PHP 函数完全相同:fopen, file_get_contents, simplexml_load_file, ...

另一方面,curl是一个扩展,并不总是启用。


curl 的一个好处是它很容易配置,并且有很多现有的选项(请参阅 参考资料curl_setopt

要配置fopen访问远程文件的方式,这有点棘手——您通常必须使用流(例如,请参见此处) ;而且,一般来说,了解 curl 的人比掌握流的开发人员还要多。


最安全的方式 - 特别是如果您的应用程序将部署到您不是管理员且无法重新配置的服务器上:

  • 尝试一种解决方案
  • 而且,如果它不起作用,请尝试另一个
于 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 回答