PHP下载APK文件

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 ();
        }
    }

猜你喜欢

转载自www.cnblogs.com/lizhanqi/p/9816113.html