标签:
header("Content-Type: application/octet-stream"); header(‘Content-Transfer-Encoding: binary‘); header("Content-Disposition: attachment; filename=\"".$file_name."\""); readfile("lib/uploads/doc/".$file_name);
以上是問題代碼.
這段代碼在windows server 下載文件後能正常打開無異常.
但是, 在linux server 下載文件後出現諸如ppt, jpg損壞,word, excel 文檔亂碼等情況.
排查之後發現應該是bom 頭出現問題.
但保存文件的格式已經是 utf-8 without Bom , header()之前也沒有任何輸出.檢查過配置文件也正常.
不過為了保險,還是手動清除了緩存.
header("Content-Type: application/octet-stream"); header(‘Content-Transfer-Encoding: binary‘); header("Content-Disposition: attachment; filename=\"".$file_name."\""); ob_clean(); flush(); readfile("lib/uploads/doc/".$file_name);
以上是修改後的代碼.
ob_clean — 清空(擦掉)输出缓冲区
flush — 刷新输出缓冲
清除緩存之後,在linux環境下在的文件也正常了.
标签:
原文地址:http://www.cnblogs.com/s20150819/p/4762635.html