我是一个PHP新手,尝试使用下面的方法添加一个进度条到现有的PHP脚本:cURL下载PHP进度无法正常工作?
$ch=curl_init() or die("ERROR|<b>Error:</b> cURL Error");
curl_setopt($ch, CURLOPT_URL, $c);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_FILE, $fp);
//####################################################//
// This is required to curl give us some progress
// if this is not set to false the progress function never
// gets called
curl_setopt($ch, CURLOPT_NOPROGRESS, false);
// Set up the callback
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'callback');
// Big buffer less progress info/callbacks
// Small buffer more progress info/callbacks
curl_setopt($ch, CURLOPT_BUFFERSIZE, 128);
//####################################################//
curl_exec($ch);
curl_close($ch);
fclose($fp);
回调函数:
function callback($download_size, $downloaded, $upload_size, $uploaded)
{
$percent=$downloaded/$download_size;
// Do something with $percent
echo "$percent";
}
现在,我不得不从字面上从PHP网站复制粘贴这个例子,但这是行不通的?我的PHP版本是5.2.11,请见。建议什么可能是错误的?
编辑:我从另一个脚本调用这个php脚本。
信息:我坚持5.2.X分支作为我的网络主机说cPanel不支持5.3.x分支,任何解决方案?
复制粘贴不是学习PHP或任何其他编程语言的方式。 – Skilldrick 2009-12-21 09:15:20
同意,我只是搜索,看到这个例子结束使用它 - 我不认为这有什么问题。 :) – Stacked 2009-12-21 09:20:45
如果有人想使用此代码,请记住,在第一次或前几个调用中,$ download_size可以为零。因此,请确定您在$ percent = $ downloaded/$ download_size中缓存了除零错误的分区,或者只需在计算之前检查$ download_size> 0。 – emrahgunduz 2014-06-06 13:02:13