您好,欢迎访问一九零五行业门户网

file_get_contents下载图片资源很慢怎么办

file_get_contents下载图片资源很慢怎么办?
file_get_contents 下载一张20k的图片资源特别慢的解决办法:
$url = 'http://wx.qlogo.cn/mmopen/xu0flo9waqkstdo7j0kso41o5luq3lb6ozuvy4o7osxuwnicb49fbs8ngyzoqcwgdarqzhpvuic4jsdngevjvo10boiapd0iciaob/0';$content = file_get_contents($url);file_put_contents('uploads/a.jpg', $content);
$url 这一行上面增加 ini_set('default_socket_timeout', 1); 设置一下 默认超时时间.
你所请求的这个图片, 对方的服务器支持 connection: keep-alive, 所以 php 在接收到数据之后, 维持了一段时间, 一直等到超时, 才返回, 所以 在设置 默认超时时间的情况下 会比较慢.
你可以用同样的代码(不使用ini_set),获取这个url http://sfault-avatar.b0.upaiyun.com/160/666/1606661144-55fe2a534b79f_huge256, 很快就回来了, 因为对方告诉了php, 在输出完数据接收完之后, 连接就可以关闭了.
function curl_file_get_contents($durl){ $ch = curl_init(); curl_setopt($ch, curlopt_url, $durl); curl_setopt($ch, curlopt_timeout, 2); curl_setopt($ch, curlopt_useragent, _useragent_); curl_setopt($ch, curlopt_referer,_referer_); curl_setopt($ch, curlopt_returntransfer, 1); $r = curl_exec($ch); curl_close($ch); return $r; } $url = 'http://wx.qlogo.cn/mmopen/xu0flo9waqkstdo7j0kso41o5luq3lb6ozuvy4o7osxuwnicb49fbs8ngyzoqcwgdarqzhpvuic4jsdngevjvo10boiapd0iciaob/0';$a = curl_file_get_contents($url);file_put_contents('uploads/2.jpg', $a);
这样子会很快。。。。
这个应该是网络原因吧,就下载一个图片,用什么方法根本感觉不到差别
更多相关知识,请访问!
其它类似信息

推荐信息