【问题标题】:Why does my site take so long to start a download?为什么我的网站需要这么长时间才能开始下载?
【发布时间】:2012-03-31 14:10:54
【问题描述】:

我有一个服务器,上面有数百个音频文件(顺便说一句,我拥有所有这些文件),人们可以免费下载它们。我使用以下 PHP 脚本下载文件:

<?php
header('Content-disposition: attachment; filename=audio.mp3');
header('Content-type: audio/mpeg');
readfile('Part1.mp3');

但是,我的观众抱怨说,下载开始可能需要长达 30 秒的时间。如何提高下载的初始化速度?有可能吗?

其他信息:

我的网站由 iPage 托管。

【问题讨论】:

  • 我不确定分发“许可”副本的合法性。但无论如何......希望你得到你的答案。
  • 我的意思是我拥有我提供的所有内容。
  • 您使用的是 Apache 还是其他 HTTP 服务器?文件的大小是多少?你检查访问日志了吗?
  • 对不起,我对这种东西有点陌生。我知道平台是Debian,文件大小从40mb到80mb不等,访问日志对我来说是一长串乱码。
  • 更快的服务器,更多的内存,更大的带宽,这种东西会消耗一些严重的资源。

标签: php performance download


【解决方案1】:

而不是使用readfile() 将整个文件读入内存并发送它,以块的形式读取它,在读取每个块时将其回显,并在每个块之后刷新。更好的是,查看 mod_xsendfile 或其等效文件是否可用,并使用它来发送文件。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-08-03
  • 1970-01-01
  • 2019-11-13
  • 1970-01-01
  • 2021-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多