如何解决如何获取客户端成功下载 2 GB 文件的次数?
我需要向客户端(接收个人下载令牌)提供 2 GB 的文件,我目前使用这个:
if (is_valid_download_token($token)) {
log_download_start(); // logs token,date,IP
header("X-Sendfile: /files/2GB_file.zip");
header("Content-type: application/octet-stream");
header('Content-disposition: attachment; filename="2GB_file.zip"');
}
我希望我的自动化系统能够确保:
关于我迄今为止尝试过的内容的说明:
-
简单地增加
log_download_start()
中的计数器不是一个好的解决方案,因为有人可能不得不重新启动 5 次下载(因为互联网连接不良),直到它最终工作。 -
此外,从日志中,我知道人们使用“下载管理器”将 2 GB 下载分成 20 个 100 MB 的下载请求,这完全没问题。所以一开始只计算请求的数量是没有效率的。
-
我使用 PHP + Apache +
X-Sendfile
是出于 Fastest Way to Serve a File Using PHP 和 Downloading files with download.php 中解释的具体原因。 TL;DR:我不希望 PHP 读取 2 GB 数据(这会减慢一切),而是让 Apache 直接处理请求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。