通过服务器路由下载; PHP 设置

Posted

技术标签:

【中文标题】通过服务器路由下载; PHP 设置【英文标题】:Routing a download through server; PHP settings 【发布时间】:2011-09-23 15:53:48 【问题描述】:

我正在尝试从我们的视频主机 Ooyala 下载视频源文件,但这些文件的文件名很长,没有描述性,并且没有扩展名。由于这些文件将被许多不同类型的人下载,我想解决这个问题,所以我使用以下代码设置标题并将文件读取到输出缓冲区:

ini_set('max_execution_time', 7200);
header('Content-Length:'.$video_file_size);
header('Content-type: binary/octet-stream');
header('Content-Disposition: attachment; filename=movie.'$video_file_extension);
readfile($video_url);

我假设这样的脚本将在整个下载过程中“运行”,所以我使用 ini_set 将“max_execution_time”设置为 7200,一切正常。所以现在我只是想知道我是否应该采取任何其他预防措施?也许是最大内存或其他什么?

谢谢!

【问题讨论】:

【参考方案1】:

所以每个人都有一个可以以至少 94k/s (690+meg at 7200s) 传输文件的链接?每传输一个视频,您的带宽费用就会翻倍。由于您指定的是固定大小,因此电影文件似乎没有变化,那么简单地在服务器上缓存一个副本不是更有意义吗?

进行缓存将 net.burp 杀死下载的机会减少了一半,因为只涉及 you->user 链接,而不涉及 host->you->user。

【讨论】:

谢谢,但文件会不断变化。用户将上传和下载到一个库,我认为在主机可用时存储所有可用视频的缓存(这是我们为它们付费的)效率不高。不过谢谢,我更新了代码以防止进一步混淆。

以上是关于通过服务器路由下载; PHP 设置的主要内容,如果未能解决你的问题,请参考以下文章

通过php(或其他东西)跟踪路由到不同的IP

使用 nginx 通过 index.php 路由请求 [关闭]

如何设置 PHP 服务器?

如何在前端使用 Angular 从 PHP Laravel API 下载 zip 文件?

openwrt恢复出厂需要联网吗

花生壳 路由器 Tomcat 内网 ,实现外部访问