![](/img/trans.png)
[英]Replace file() with cUrl in PHP when allow_url_fopen is off
[英]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函数完全相同: fopen
, file_get_contents
, simplexml_load_file
,...
另一方面, curl是一个扩展,并不总是启用。
一个很好的curl是它很容易配置,并且有很多现有的选项(参见curl_setopt
)
要配置fopen
访问远程文件的方式,它有点棘手 - 你通常必须使用流(例如,见这里 ) ; 而且,一般来说,有更多的人知道卷曲,而不是开发人员掌握流。
最安全的方式 - 特别是如果您的应用程序将部署到您不是管理员的服务器上,并且无法重新配置:
fopen使用起来更简单,我认为并非所有服务器设置都支持开箱即用。 如果fopen适合你,这可能是你最好的选择。
好吧,如果您打算使用SimpleXML加载您可以使用的文件
simplexml_load_file($filename);
但是,某些服务器将限制此函数的加载URL。 在这种情况下,您将被限制为cURL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.