0

我正在使用 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)但是我不知道如何知道下载已经结束,有人可以帮我处理这段代码吗?

ps一切都在服务器上,所以不要在我的电脑上下载:)

4

1 回答 1

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');
于 2013-07-20T19:09:11.037 回答