我正在尝试使用Chrome在我的PC浏览器中使用php下载Android APK文件。
我的应用位于服务器的特定路径中。如果我从服务器手动FTP文件并转移到我的Android手机它安装完美。但是,当我使用PHP下载并将下载的文件传输到移动设备时,在安装时会抛出'解析包时遇到问题。
这是我用来下载的PHP代码
header('Content-Type: application/vnd.android.package-archive');
header('Content-Disposition: attachment; filename="' . $file_name . '"');
readfile($file_path);
return true;
... FYI
$file_name is the apk file file 'myfile.apk'
$file_path is the full absolute path of the file in server ('d:\abcd\xyz\xampp\htdocs\apkstore\myfile.apk')
我在尝试使用7-zip打开APK文件时发现了一个观察结果。
当我使用7-zip打开文件时,它会抛出错误'无法打开文件xxx作为存档'
我添加了下面的PHP代码
header("Content-length: " . filesize($file_path));
现在,当我使用7-zip打开文件时,它会打开文件,但下载文件的大小大于原始文件。当我在移动设备上打开此文件时出现同样的错误'解析包时遇到问题'
简而言之,我试图使用PHP将APK文件从服务器下载到localhost,我能够使其工作。
答案 0 :(得分:0)
我设法通过添加 ob_end_flush()
来使其成功header('Content-Type: application/vnd.android.package-archive');
header("Content-length: " . filesize($file_path));
header('Content-Disposition: attachment; filename="' . $file_name . '"');
ob_end_flush();
readfile($file_path);
return true;