代码如下:

<?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远程下载图片损坏问题相关推荐

  1. python迅雷远程下载页面_Python使用urlretrieve实现直接远程下载图片的示例代码

    在实现爬虫任务时,经常需要将一些图片下载到本地当中.那么在python中除了通过open()函数,以二进制写入方式来下载图片以外,还有什么其他方式吗?本文将使用urlretrieve实现直接远程下载图 ...

  2. php 远程下载图片到本地

    大家好,从今天开始,小弟开始写写博客,把自己在工作中碰到的问题的解决方法纪录下来,方便以后查找,也给予别人方便,小弟不才,第一次写博客,有什么不足之处请指出,谢谢! 今天纪录的是怎么通过PHP远程把图 ...

  3. python 下载图片损坏_爬虫爬取出的图片下载出错,图片文件直接损坏

    import requests import os, sys, stat from lxml import etree import time class HuangMan(): def __init ...

  4. php curl 下载图片 损坏,php curl传输FTP后图像损坏

    我正在使用以下代码来传输图像,除了jpg在传输后损坏之外,它都在工作.表示图像格式无效,并显示模糊的图像. 我尝试使用不卷曲的常规php,并得到相同的结果. 有谁知道为什么我尝试任何操作都会损坏ima ...

  5. php fopen 图片下载,php curl与fopen下载远程服务器图片实例

    本文章来给大家介绍php curl与fopen下载远程服务器图片实例代码,有需要的朋友可参考. fopen函数  代码如下 复制代码 function get_file($url,$folder,$p ...

  6. php下载pdf并保存图片大小,php根据URL下载图片、压缩包、pdf等远程文件到本地

    码农公社  210.net.cn  210= 1024  10月24日一个重要的节日--码农(程序员)节 1.此法可下载图片.压缩包.pdf,理论上所有类型的文件都可以下载到本地.^_^ //参数说明 ...

  7. 下载的图片损坏 图片完整性检测工具

    下载的图片损坏 图片完整性检测工具 下载的文件大约有千分之几的概率损坏, 以图片为例: import lib_sha256 import io import imghdr from os import ...

  8. 测试Python下载图片的三种方法

    简 介: 通过Python软件包对网络URL图片链接进行下载,可以加快后期处理.本文测试了urllib, request两个软件包对图片进行下载效果.如果图片原网页有了防止下载机制,是无法下载图片. ...

  9. android多线程下载图片

    很多时候我们需要在Android设备上下载远程服务器上的图片进行显示,今天Android123整理出两种比较好的方法来实现远程图片的下载.    方法一.直接通过Android提供的Http类访问远程 ...

最新文章

  1. 阿里披露AI完整布局,飞天AI平台首次亮相
  2. 【bzoj2705】[SDOI2012]Longge的问题 欧拉函数
  3. 在用 Eclipse 搭建 SAP Commerce Cloud 调试环境时,错误和正确的 buildfile
  4. 性能测试的重要意义(一)
  5. swift 抛出错误_Swift错误处理– Swift尝试,捕捉,抛出
  6. MYSQL SHOW VARIABLES简介
  7. 基于与非门和多路开关结构的一位全加器实现方法
  8. android 显示flash视频播放器
  9. html Table 转CSV中文乱码解决
  10. WIFI pineapple使用心得
  11. MyBatis 里面如何配置log4j
  12. API接口设计的五大公共参数
  13. 合并mp3 例子代码
  14. 正则匹配手机号和座机号包括分机号
  15. 纪中20日c组模拟赛T1 2121. 简单游戏
  16. Unity3D获取游戏对象组件的三种方式
  17. 文件管理系统 : 增加文件的空间 增加swap文件和swap空间 详解
  18. 本地连接ipv4无网络访问权限解决办法
  19. 中国怪企 许昌怪人----胖东来
  20. RF发射器和接收器电路

热门文章

  1. android 最新usb驱动程序下载,安卓手机USB驱动官方下载、安装教程
  2. 如何停oracle的job,ORACLE如何停止一个JOB
  3. 制造业与计算机有关的岗位,天津人力资源:零批餐饮挺缺人 银行地产岗位少...
  4. 004_Mysql数据库的CRUD的操作
  5. java随机生成10个不重复的数字,随机生成10个不重复的0-100的数字(实例讲解)
  6. std string与线程安全_这才是现代C++单例模式简单又安全的实现
  7. python类实例_类和实例
  8. VMware上安装 Windows server 2012R2 教程
  9. SVN服务端的搭建及客户端连接(云上搭建服务端)
  10. pythonsklearn乳腺癌数据集_使用sklearn的样本数据集