我需要从服务器复制图像,以便从中创建不同类型的图像,例如缩略图。
虽然它在ImageCreateFromJPEG($picture_location);
上工作得很好,但如果图像不可用并且需要30s超时,它也会产生问题。
所以我想先下载copy:
copy('http://www.server.com/file.jpg', '/tmp/file.jpeg');
不幸的是,如果连接失败或图像已被删除,也没有办法减少超时时间。
有没有更好的方法来达到我的目的?谢谢你的帮助
你可以通过curl下载文件,它有超时选项。
<?php
$fp = fopen (dirname(__FILE__) . '/localfile.tmp', 'w+');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 50); //timeout
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>