查看这个php下载脚本的下载进度?

时间:2018-02-07 19:26:38

标签: php

我正在使用此脚本下载文件并且它可以正常工作,但我在浏览器中没有获得%或时间的任何下载进度,它只是说未知。是否可以调整代码来添加该参数?除此之外,您是否在代码中看到任何其他奇怪的东西或任何可以改进的东西?谢谢!

<?php

$filepath = 'x';
$title = 'y';
$download = true;

header("Cache-control: private");

header("Content-Type: application/octet-stream");

if ($download) {
       header("Content-Disposition: attachment; filename=\"" . $title . "\"");
       header('Content-Transfer-Encoding: binary');
} else {
       header("Content-Disposition: inline; filename=\"" . $title . "\"");
}

// Disable caching
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.

readfile($filepath);

exit;

?>

1 个答案:

答案 0 :(得分:0)

服务器未发送Content-Length标头,因此客户端无法知道预期会有多少数据,并且无法显示进度。如果响应包含文件内容,则可以通过调用stat($filepath)来获取文件大小。