Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从我的网站下载文件时未显示大小_Php_Wordpress_Hosting - Fatal编程技术网

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

Php 从我的网站下载文件时未显示大小,php,wordpress,hosting,Php,Wordpress,Hosting,我正在WordPress上运行一个博客。为了从我的博客下载一些文件,首先我将文件上传到文件夹/downloads中的服务器。然后我在我的帖子中链接了这个文件。当用户单击下载按钮时,下载开始。但问题是它没有显示文件大小。它只显示下载量。我在下面提供了一个链接进行检查 该网站位于Wordpress中。在戈达迪主持 示例帖子(请查看下载链接):在本地创建一个PHP文件,其中包括: $file = file_get_contents('http://www.tekyfox.com/downloads/m

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

该网站位于Wordpress中。在戈达迪主持


示例帖子(请查看下载链接):

在本地创建一个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文件的按钮链接。看看你是否遇到同样的问题。如果不是,这可能是因为浏览器在服务器关闭连接之前不知道文件大小。

如果您以“下载”目录或类似目录直接链接到文件,则这不是PHP问题,而是Web服务器配置问题(即Apache或
nginx

有关涉及的机制和HTTP头的讨论,请参阅

要为您解决此问题,我们需要知道:

  • 您使用的是什么web服务器(Apache?)及其版本
  • 下载文件时从服务器发送的HTTP头(您可以使用
    curl
    获取这些头,例如
    curl-vhttp://...
    ,或在Chrome开发工具中)
一些类似的问题可能会回答您的问题:


    • 非常感谢您。这对我有用!我跟踪了您提供的链接:。这里给出的第一个答案是在.htaccess文件中添加以下行:

      SetEnv no-gzip dont-vary
      

      就这样!它成功了。再次非常感谢。从过去的4-5天以来,这是一个非常头痛的问题。

      您是否发送了文件大小标题,显然你没有:@Flosculus链接没有打开。你能给我描述一下它是什么吗,或者给我发送任何其他有用的链接。谢谢你的帮助。它下载得太快了,我看不出它是否知道文件长度。下载脚本是你亲手写的吗?@Flosculus什么是下载脚本?我应该把它放在哪里?它对所有文件都是通用的吗?因为我的博客将来会有几个这样的下载链接…我也有同样的问题。你找到解决办法了吗?但我会有很多这样的apk文件。我不能为每个apk文件创建PHP文件。还有其他简单的方法吗?没有测试,我们不知道问题是什么,所以现在没有简单的解决方案。我只知道有一个名为
      /downloads
      的路径,后面有文件或getter。更新您的问题,进一步详细说明问题是什么,文件是如何访问的(我不是指用户)以及预期结果。恭喜,您终于找到了!!是的,这是一个巨大的头痛。希望其他人也能从这个答案中受益。这就是为什么删除前面的答案并将您的答案标记为正确答案的原因。这肯定会对将来的人有所帮助!如果我的问题对你有帮助的话,也请把它投上去谢谢。因为你,我有足够的代表回来评论。谢谢是的,我已经投了赞成票!很荣幸……:)