在我们使用php实现文件下载时很多时间你会发现下载无法知道要下载文件的大但了,这个是开发者并未使用Accept-Length来获取下载文件大小了,下面我们一起来看看Accept-Length获取下载文件的大小例子
php中在做文件下载的时候,其中要加上这么一些header信息:
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length:".$fileSize);
header("Content-Disposition: attachment; filename=".$fileName);
我已经加了header("Accept-Length:".$fileSize);这句话,可是还是出现如下图的情况,获取不到下载文件的大小,虽然不影响正常的功能,但是为了追求完美,我要探个究竟。
查手册,搜资料,最后才发现header("Accept-Length:***");这其实是一个误导,真不明白网上为什么千篇一律的都是Accept-Length。代潇瑞博客告诉大家,其实正确的应该是header("Content-Length:***"); 修改之后,果然就正确了,如下图的效果。
将Accept-Length改成Content-Length后,终于可以识别下载文件的大小了。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!