前兩天碰到一件怪事,使用header下載文件,若是是IE瀏覽器下載的話,下載出錯,並將錯誤信息寫入到文件裏。一番調試,發現$filename =iconv("UTF-8","GB2312",$filename);在IE下載的狀況下,$filename通過iconv方法處理之後返回空。後來,我機智的這麼寫,可能都不須要iconv方法,也能處理中文問題,沒試過。 html
$filename="中文路徑"; header('Content-Type: text/html; charset=utf-8'); 瀏覽器
iconv("UTF-8","GB2312",$filename) && $filename=iconv("UTF-8","GB2312",$filename``) header("Content-Type:text/html;charset=utf-8");緩存
header("Content-type:application/force-download"); header("Content-Type:application/octet-stream"); header("Accept-Ranges:bytes"); header("Content-Length:".filesize($filename));//指定下載文件的大小 app
header('Content-Disposition:attachment;filename="'.$file.'"'); 調試
//清除緩存 htm
ob_clean(); flush(); readfile($filename); utf-8
exit();it