我使用CURL下载几个文件,我的代码如下:
$ch = curl_init();
$fp = fopen ($local_file, 'w+');
$ch = curl_init($remote_file);
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_exec($ch);
curl_close($ch);
fclose($fp);
有时文件很大,所以下载完成需要一些时间,所以我想显示一个加载gif(这样的东西:http://4gettv.com/wp-content/uploads/2011/10/Loading_video.gif)但我不知道如何知道下载已经结束,可以有人帮我这个代码吗?
P.S。一切都在服务器上进行,所以不要在我的PC上下载:)
答案 0 :(得分:0)
我坚信:
...
curl_exec($ch);
curl_close($ch);
fclose($fp);
// here download is done
如果没有,您可以使用curl:
的回调选项function progressFunction($clientp, $dltotal, $dlnow, $ultotal, $ulnow) {
if ($dlnow == $dltotal) {
// finished
}
}
curl_setopt($ch, CURLOPT_NOPROGRESS, '0');
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'progressFunction');