我在WordPress上运行博客。要从我的博客下载一些文件,首先我将文件上传到我的服务器文件夹/ downloads。然后我在我的帖子中链接文件。当用户单击下载按钮时,下载开始。但问题是它没有显示文件大小。它只显示下载了多少。我在下面提供了一个链接来检查。
该网站位于Wordpress中。主持Godaddy。
示例帖子(请检查下载链接):http://www.tekyfox.com/android/bug-fixed-moto-g-boot-animation-change-updating/
答案 0 :(得分:5)
非常感谢Rich。它对我有用!我按照您提供的链接:"File Downloads from Apache Server Doesn't Show Total"。给出的第一个答案是在.htaccess文件中添加以下行:
SetEnv no-gzip dont-vary
那就是它!它成功了。再一次非常感谢你。自从过去4-5天以来,这是一个巨大的头痛。
答案 1 :(得分:2)
在本地创建一个PHP文件,其中包含:
$file = file_get_contents('http://www.tekyfox.com/downloads/motorola_boot_animation.apk');
header('Content-Disposition: attachment; filename=test.apk');
header('Content-Type: application/vnd.android.package-archive');
header('Content-Length: '.strlen($file));
echo $file;
使用指向该本地PHP文件的按钮链接创建另一个文件。看看你是否遇到同样的问题。如果不是,可能是因为浏览器在服务器关闭连接之前不知道文件大小。
答案 2 :(得分:1)
如果您直接链接到"下载" dir或类似的,那么这不是PHP问题,而是Web服务器配置的问题(即Apache或nginx
)。
有关所涉及的机制和HTTP标头的讨论,请参阅https://superuser.com/questions/617327/why-do-some-downloading-files-not-know-their-own-size。
为了解决这个问题,我们需要知道:
curl
获取这些标头,例如curl -v http://...
,或在Chrome开发工具包中)可能会回答您问题的一些类似问题: