从我的网站下载文件时不显示大小

时间:2014-05-07 12:31:57

标签: php wordpress hosting

我在WordPress上运行博客。要从我的博客下载一些文件,首先我将文件上传到我的服务器文件夹/ downloads。然后我在我的帖子中链接文件。当用户单击下载按钮时,下载开始。但问题是它没有显示文件大小。它只显示下载了多少。我在下面提供了一个链接来检查。

该网站位于Wordpress中。主持Godaddy。

示例帖子(请检查下载链接):http://www.tekyfox.com/android/bug-fixed-moto-g-boot-animation-change-updating/

3 个答案:

答案 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

为了解决这个问题,我们需要知道:

  • 您使用的是哪种Web服务器(Apache?)及其版本
  • 下载文件时从服务器发送的HTTP标头(您可以使用curl获取这些标头,例如curl -v http://...,或在Chrome开发工具包中)

可能会回答您问题的一些类似问题: