但是 CURL 会自动对 DNS 信息进行缓存。对同一域名下的网页或者图片的要求只须要一次 DNS 查询。这大大减少了 DNS 查询的次数。以是 CURL 的性能比 fopen /file_get_contents 好很多。
2.fopen/file_get_contents 在要求 HTTP 时,利用的是 http_fopen_wrapper,不会 keeplive。
而 curl 却可以。这样在多次要求多个链接时,curl 效率会好一些。

3.fopen/file_get_contents 函数会受到 php.ini 文件中 allow_url_open 选项配置的影响。
如果该配置关闭了,则该函数也就失落效了。而 curl 不受该配置的影响。
4.curl 可以仿照多种要求,例如:POST 数据,表单提交等,用户可以按照自己的需求来定制要求。
而 fopen /file_get_contents 只能利用 get 办法获取数据。
file_get_contents 获取远程文件时会把结果都存在一个字符串中 fiels 函数则会储存成数组形式