php实现中文文件下载
程序员文章站
2022-04-29 09:58:51
...
php代码
/* * $filepath 文件路径 * $newfilename 下载时的命名 * download('/abc.xls','abc教学'); * 下载下来的文件将是abc教学.xls */ function download($filepath,$newfilename){ $id = intval($_GET['id']); $db = model('tool'); $tool = $db->where('id='.$id)->find(); if(!$tool) $this->error('未找到您要查看的工具'); $ua = $_SERVER["HTTP_USER_AGENT"]; $pathinfo = pathinfo($filepath); $newfilename = $newfilename.'.'.$pathinfo['extension']; $file = fopen( $filepath ,"r"); header('Content-Type: application/octet-stream'); header("Accept-Ranges: bytes"); header("Accept-Length: ".filesize($filepath)); if (preg_match("/MSIE/", $ua)) { header('Content-Disposition: attachment; filename="' . rawurlencode($newfilename) . '"'); } else if (preg_match("/Firefox/", $ua)) { header('Content-Disposition: attachment; filename*="utf8\'\'' . $newfilename . '"'); } else { header('Content-Disposition: attachment; filename="' . rawurlencode($newfilename) . '"'); } echo fread($file, filesize($filepath)); //$db->where('id='.$id)->data($update)->update(); fclose($file); }