【发布时间】:2013-03-18 19:13:24
【问题描述】:
我正在为我的应用程序创建一个服务器端 API。其中一个步骤要求应用程序从我的服务器下载一个非常大的 zip 文件,但仅通过下载 http://mydomain.com/file.zip 无法完成。我的应用通过了一些身份验证标头和其他安全内容,这些内容必须由 php 脚本处理(例如 http://mydomain.com/download.php?auth=foo&key=value&etc)
我之前用图片做过这种事情:
<?php
$can_download = /* some complicated auth stuff */
if($can_download) {
header('Content-Type: image/jpeg');
echo file_get_contents('image.jpg');
}
?>
我的问题是:可以用 200+ MB 的 zip 文件完成吗? 我知道我必须以某种方式修改标题并且可能使用一些高级 php 函数,但我也找不到任何教程在这里,在 Stack Overflow 上,也没有其他任何地方。
编辑:我还必须能够恢复我的下载,因为用户很可能会退出应用程序,尽管它应该能够恢复下载(例如从 47%)。可以吗?
对于那些寻找答案的人:正确的函数是 readfile 并且可以使用 this custom function 解决“恢复”问题。
【问题讨论】: