设置文件大小标头后压缩损坏
我有这段代码来限制php中的下载速度:
function readfile_chunked($filename, $retbytes = TRUE) {
$download_rate = 85; global $filename ;
// send headers
header('Cache-control: private');
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($filename));
header('Content-Disposition: filename=file.zip');
// flush content
flush();
// open file stream
$file = fopen($filename, "r");
while(!feof($file)) {
// send the current file part to the browser
print fread($file, round($download_rate * 1024));
// flush the content to the browser
flush();
// sleep one second
usleep(200);
}
}
当我像这样设置内容长度的标题时:
header('Content-Length:'.filesize($ filename));
并打开下载的文件,向我显示文件已损坏的警报。不仅仅是zip文件,我尝试使用jpg文件及其相同的文件。
但是,当我删除文件大小标题时,文件或图像打开时没有任何错误
答案 0 :(得分:-1)
我通过在函数开始处添加ob_clean()解决了该问题。我尝试解决了3个月,这需要一个聚会;)
function party(forVisitors){
Drink();
Play();
HaveFun();
GoHome();
}