igogo00 2019-12-19
方式一、public function downApkFile(){ $path = Env::get(‘root_path‘)."apk/"; //路径 $file_name = "a.apk"; //下载文件名 //中文需要转码 $fileAdd = iconv(‘UTF-8‘, ‘GB2312‘, $path . $file_name); //检查文件是否存在 if (!file_exists($fileAdd) || !explode(".apk", $fileAdd) || !is_file($fileAdd)) { $this->error(‘文件不存在‘); } 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 (); }}原文链接:https://www.cnblogs.com/lizhanqi/p/9816113.html(感谢分享)方式二、 直接访问apk文件,比如.apk文件在项目根目录下,直接访问:www.XXX.com/a.apk
server { listen 80; server_name ××××.com; access_log /×××/×××/nginx/log/access.log; error_log /×××/×
if (!$file = fopen($filename, "rb");Header( "Content-type: application/octet-stream ");Header( "Acce