PHP远程下载图片损坏问题
生活随笔
收集整理的這篇文章主要介紹了
PHP远程下载图片损坏问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼如下:
<?php header("Content-type=html/text;charset=utf-8");function download($file_name,$file_sub_dir){$file_name = iconv("utf-8","gb2312",$file_name);$file_path = $_SERVER['DOCUMENT_ROOT'].$file_sub_dir.$file_name;if(!file_exists($file_path)){echo "文件不存在";return;}$fp = fopen($file_path,"rb");$file_size = filesize($file_path);header("Content-type: application/octet-stream");header("Accept-Ranges: bytes");header("Accept-Length: $file_size");header("Content-Disposition: attachment;filename=".$file_name);$buffer = 1024;$file_count = 0;while(!feof($fp) && $file_size-$file_count>0){$file_data = fread($fp,$buffer);$file_count+=$buffer;echo $file_data;} fclose($fp);}download("picture1.jpg","/txt/"); ?>下載的圖片是成功了,但是打開圖片時,顯示圖片損壞;
害我花了一個小時調試,最終發現了問題所在:文件編碼的原因;
新建的文件必須是utf-8 (特別注意:用記事本另存為utf-8,的方法是不行的,必須新建一個utf-8(無BOM)文件),可用notepad++,sublime等編輯器創建。
轉載于:https://www.cnblogs.com/webStyle/p/4253598.html
總結
以上是生活随笔為你收集整理的PHP远程下载图片损坏问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 步骤详解安装Apache web服务器
- 下一篇: EasyUI中combotree允许多选