$fileInfo = Db::table('file')->find($file_id); if (!$fileInfo || !$fileInfo['file_url']){ $this->error('文件不存在或无下载链接'); } $url = $fileInfo['file_url']; $info = get_headers($url, true); $size = $info['Content-Length']; //获取文件的后缀 $suffix = substr($fileInfo['file_url'],strripos($fileInfo['file_url'],'.')); // 获取文件后缀 $ua = $_SERVER ['HTTP_USER_AGENT']; $filename = $fileInfo['name'].$suffix; //$encoded_filename = urlencode ( $filename ); // 防止中文乱码 header("Content-type:application/octet-stream"); // 针对ie浏览器 if (preg_match ( "/Triden/", $ua )) { $filename = iconv("utf-8","gb2312",$filename); header ( "Content-Disposition: attachment; filename=".$filename); //针对火狐浏览器 }else if (preg_match ( "/Firefox/", $ua )){ header ( "Content-Disposition: attachment; filename*=\"utf8''" . $filename . '"' ); }else{ header ( "Content-Disposition: attachment; filename=".$filename); } header("Accept-ranges:bytes"); header("Accept-length:" . $size); $res = readfile($url);
php下载文件适配浏览器
最新推荐文章于 2024-05-29 09:53:27 发布