我以前用过这个来从某个地方获取图像,但由于我刚刚再次尝试使用它,它给了我这个错误:
警告:str_repeat():第121行C:''inetpub''wwwroot''resource_update.php中的第二个参数必须大于或等于0
这就是它所指的功能,所以如果有人能提供帮助,那就太好了:
function consoleLogProgressBar($current, $size, $unit = "kb")
{
$length = (int)(($current/$size)*100);
$str = sprintf("'r[%-100s] %3d%% (%2d/%2d%s)", str_repeat("=", $length).($length==100?"":">"), $length, ($current/($unit=="kb"?1024:1)), $size/($unit=="kb"?1024:1), " ".$unit);
consoleLog($str, true);
}
听起来$length
返回了一个负数?您可以按以下方式进行故障排除:
$length = (int)(($current/$size)*100);
var_dump($length);
exit;
如果事实确实如此,那么您可以将其封装在abs()
函数中,该函数将始终返回一个绝对值:
$length = (int) abs(($current/$size)*100);
当然,这是一个丑陋的黑客攻击,并不能解决真正的问题。无论哪种方式,第一步都是确定为什么$length
不是您期望的样子。