php 檔案下載 出現下載檔案內容亂碼損壞的解決辦法

來源:互聯網
上載者:User
php 檔案下載 出現下載檔案內容亂碼損壞的解決方案

在做PHP程式時,需要使用PHP做的檔案下載

那做就做唄把代碼複製過來改了一改.

很多效果也出來了

那麼點擊下載後,恩,本以為搞定了檔案下載,誰知道,圖片開啟的時候提示檔案損壞,這我就觀察了檔案的大小.似乎真是多了 1KB左右.

使用PS開啟,恩,提示了損壞,不過圖象可以出來.

那麼我就認為是 那多出來的 1kb的問題了.

然後,我把一個txt上傳上去,然後下載.

果然發現,檔案的前面以及後面,都多了幾個 字元.

那我就在想應該怎麼去掉啊.各種百度,Google,上論壇提問.

最後,經過我一個多小時的搜尋,終於找到瞭解決辦法.

代碼如下

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();

這個是關鍵哦.用了這兩函數,搞定,圖片正常開啟,文字也不亂碼.


轉載自:http://www.9958.pw/post/download_content

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.