【发布时间】:2014-05-22 17:15:06
【问题描述】:
我正在使用cURL 通过给定的 URL 上传文件。 (用户提供网址,我的服务器下载文件)
对于进度条,我使用CURLOPT_PROGRESSFUNCTION 选项。
我希望进度的功能也可以计算下载速度,以及还剩多少时间。
$fp = fopen($temp_file, "w");
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_NOPROGRESS, false );
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, "curl_progress_callback");
curl_setopt($ch, CURLOPT_FILE, $fp);
$success = curl_exec($ch);
$curl_info = curl_getinfo($ch);
curl_close($ch);
fclose($fp);
function curl_progress_callback ($download_size, $downloaded_size, $upload_size, $uploaded_size) {
global $fileinfo;
if (!$downloaded_size) {
if (!isset($fileinfo->size)) {
$fileinfo->size = $download_size;
event_callback(array("send" => $fileinfo));
}
}
event_callback(array("progress" => array("loaded" => $downloaded_size, "total" => $download_size)));
}
谢谢!对不起我的英语
【问题讨论】:
-
@CarstenHellweg 我不认为你理解我的问题。回调函数工作正常。我想要的是计算文件下载到服务器的速度,并为下载留出很多时间。
标签: php curl upload download-speed