我有一个可以通过URL获取的XML文件。我知道我可以使用fopen
获取文件,但有时我看到脚本使用curl
。使用curl
而不是fopen
获取XML文件是否有优势?
答案 0 :(得分:3)
allow_url_fopen
,如果要打开fopen
的远程文件,则必须禁用;因此,有些情况下fopen('http://...')
是不可能的。
注意:在这个答案中,我说“fopen
”,但它与所有可以访问远程文件的PHP函数完全相同:fopen
,file_get_contents
,{{1 ,},
另一方面,curl是一个扩展名,并不总是启用。
一个很好的卷曲是它很容易配置,并且有很多现有的选项(见curl_setopt
)
要配置simplexml_load_file
访问远程文件的方式,这有点棘手 - 您通常必须使用流(例如,参见here);而且,一般来说,有更多的人知道卷曲,而不是开发人员掌握流。
最安全的方式 - 特别是如果您的应用程序将部署到您不是管理员的服务器上,并且无法重新配置:
答案 1 :(得分:1)
fopen使用起来更简单,我认为并非所有服务器设置都支持开箱即用。如果fopen适合你,那可能是你最好的选择。
答案 2 :(得分:1)
好吧,如果您打算使用SimpleXML加载文件,可以使用
simplexml_load_file($filename);
但是,某些服务器会限制此功能加载网址。在这种情况下,您将被限制为cURL。