如何定义从服务器复制映像的超时时间


How to define timeout for copy image from server

我需要从服务器复制图像,以便从中创建不同类型的图像,例如缩略图。

虽然它在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);
?>