繁体   English   中英

在PHP中给定URL时,我是否使用fopen或curl加载XML文件

[英]Do I use fopen or curl to load an XML file given a URL in PHP

我有一个XML文件,我可以通过URL获取。 我知道我可以使用fopen获取文件,但有时我看过脚本使用curl 使用curl over fopen来获取XML文件是否有优势?

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

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


一个很好的curl是它很容易配置,并且有很多现有的选项(参见curl_setopt

要配置fopen访问远程文件的方式,它有点棘手 - 你通常必须使用流(例如,见这里 ; 而且,一般来说,有更多的人知道卷曲,而不是开发人员掌握流。


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

  • 试试一个解决方案
  • 并且,如果它不起作用,请尝试另一个

fopen使用起来更简单,我认为并非所有服务器设置都支持开箱即用。 如果fopen适合你,这可能是你最好的选择。

好吧,如果您打算使用SimpleXML加载您可以使用的文件

simplexml_load_file($filename);

但是,某些服务器将限制此函数的加载URL。 在这种情况下,您将被限制为cURL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM