PHP下载APK文件(代码如下)

    /**
* //这里不要随便打印文字,否则会影响输出的文件的
* (例如下载没问题,但是apk安装时候提醒解析安装包错误)
* @return array
*/
public function donwApkFile(){
//http://dc.lizhanqi.top/index/Apks/donwApkFile
$path = "E:/素玄文件/app历史版本/";
//$file_name = request()->param("filename");
$file_name = "素玄E.apk"; //下载文件名
//中文需要转码
$fileAdd = iconv('UTF-8', 'GB2312', $path . $file_name);
//检查文件是否存在
if (!file_exists($fileAdd) || !explode(".apks", $fileAdd) || !is_file($fileAdd)) {
Config::set("default_return_type", "json");
$rersout = ['Msg' => '文件不存在', 'code' => 100, 'Data' => ""];
return $rersout;
} else {
//告诉浏览器这是一个文件流格式的文件(app)
Header("Content-type: application/vnd.android.package-archive");
//用来告诉浏览器,文件是可以当做附件被下载,下载后的文件名称为$file_name该变量的值。
header('Content-disposition: attachment; filename=' . iconv('UTF-8', 'GB2312', $file_name)); //文件名
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件
//这里会告诉请求方,文件大小
header('Content-Length: ' . filesize($fileAdd)); //告诉浏览器,文件大小
//读取文件内容并直接输出到浏览器
@readfile($fileAdd);
exit ();
}
}
05-11 17:44