从PHP文件下载到Android移动设备时,.apk为空



下面的代码在桌面浏览器(Chrome, FF)上运行良好,但当从Android手机(HTC Evo, Galaxy S)设备上执行时,文件被下载但为空。我在我的。htaccess文件中添加了以下行:

AddType application/vnd.android.package-archive .apk

…如果我从HTML锚点直接链接到.apk,则下载工作如预期。

我需要通过PHP脚本提供下载,以便我可以更新数据库记录。下面的PHP方法甚至可以在blackberry设备上正常工作:

public function download($file)
{
    if (!is_readable($file)) {
        return false;
    }
    header('Content-Type: application/vnd.android.package-archive');
    header('Content-Disposition: attachment; filename="test.apk"');
    header('Content-length: ' . filesize($file));
    readfile($file);
    return true;
}

便宜的解决方案:telnet到服务器,直接讨论HTTP,看看从PHP脚本下载与从服务器下载之间的标头有什么不同。

你也可以考虑像重定向你的用户到文件,或者如果你想更复杂,X-sendfile.

你也可以看看这个问题的答案:最快的方式使用PHP服务文件

最新更新