imagecreatefromjpeg 问题.

去圣西罗-为尤文喝彩 去圣西罗-为尤文喝彩 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在使用imagecreatefromjpeg,imagecopy 缓存一些略缩图,遇见一个奇怪的问题。

1. 浏览器直接输入图片地址,可以正常打开(打开速度很慢)。

2. 使用 imagecreatefromjpeg,产生500错误。

3. 浏览器打开过一次图片,再使用imagecreatefromjpeg,PHP代码可以工作。

4. 加一段curl,先模拟浏览器打开一次图片,再使用imagecreatefromjpeg, PHP代码可以工作。


图片地址: http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/7_nani_6.jpg/450px-7_nani_6.jpg

错误信息:
imagecreatefromjpeg(http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/7_nani_6.jpg/450px-7_nani_6.jpg): failed to open stream: HTTP request failed! HTTP/1.0 500 Internal Server Error


curl 代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/7_nani_6.jpg/450px-7_nani_6.jpg");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5');
$gets = curl_exec($ch);
curl_close($ch);


问题:这到底是什么原因造成的?是由于图片地址打开速度慢,imagecreatefromjpeg 抓取时超时?使用curl代码,可以截取图片,但是代码运行时间加倍。有什么方法可以解决吗,比如设置imagecreatefromjpeg超时;直接结合curl和imagecreatefromjpeg,缩短运行时间?谢谢。

PS:试过get_file_contents(图片地址),同样500错误,看来只有curl比较耐心,不会超时,只是运行速度非常慢。
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部