php 文件下載 出現下載文件內容亂碼損壞的解決方法(推薦)
在做PHP程序時,需要使用PHP做的文件下載
那做就做唄把代碼復制過來改了一改。
很多效果也出來了
那么點擊下載后,恩,本以為搞定了文件下載,誰知道,圖片打開的時候提示文件損壞,這我就觀察了文件的大小。似乎真是多了 1KB左右。
使用PS打開,恩,提示了損壞,不過圖象可以出來。
那么我就認為是 那多出來的 1kb的問題了。
然后,我把一個txt上傳上去,然后下載.
果然發(fā)現,文件的前面以及后面,都多了幾個 字符。
那我就在想應該怎么去掉啊.各種百度,谷歌,上論壇提問.
最后,經過我一個多小時的搜索,終于找到了解決辦法.
代碼如下
public function download()
{
$upload=M('upload');
$data=$upload->find($_GET['id']);
if(empty($data)){
header('HTTP/1.0 404 Not Found');
header('Location: .');
}else{
$path='./public/Uploads/'.$data['savename'];
header("Content-Type:".$data['type']);
header('Content-Disposition: attachment; filename="'.$data['name'].'"');
header('Content-Length:'.$data['size']);
ob_clean();
flush();
readfile($path);
}
}
注意:
ob_clean();
flush();這個是關鍵哦。用了這兩函數,搞定,圖片正常打開,文字也不亂碼。
以上這篇php 文件下載 出現下載文件內容亂碼損壞的解決方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
PHP使用DOMDocument類生成HTML實例(包含常見標簽元素)
這篇文章主要介紹了PHP使用DOMDocument類生成HTML實例,包含常見標簽元素,如表單、表格、CSS樣式等,最后寫了一個比較完整的例子,給需要的朋友參考下2014-06-06

