IT技术博客大学习 共学习 共进步

[图片处理]PHP对非标准格式的图片pjpeg上传失败的解决办法

Penner Blog 2009-10-16 12:03:38 浏览 4,201 次

    前一阵子网站新上了相册功能,可最近总发现有一些用户上传的图片文件链接失效,代码检查了很多次,测试也做的比较充分了,但还是会出现上传失败的问题,很是郁闷,今天终于找到了解决办法。

    从备份源中找到了用户上传失败的JPG图片,进行上传测试,上传完成后页面提示:

    Warning: imagecreatefromjpeg(): ‘/tmp/lalala’ is not a valid JPEG file in /path/upload.php on line 1

    出现这个Warning是由于GD函数库检测发现是非标准JPEG图片格式导致。

    解决方法,如果PHP版本 > 5.1.3,可以在php.ini中增加:

    gd.jpeg_ignore_warning = 1

    在 MIME 类型中有 image/jpeg 与 image/pjpeg 两种,GD库只认识前者的传统格式,后者是 progressive JPEG 的缩写,啥是pjpeg昵?

    这个链接中有详细的解释:

     http://www.faqs.org/faqs/jpeg-faq/part1/section-11.html

    另外,php.net 中也有相关问题的详细讨论,有兴趣的朋友可以进去看看:

    http://bugs.php.net/bug.php?id=29878

建议继续学习

  1. 图片动态局部毛玻璃模糊效果的实现 (阅读 14,701)
  2. 淘宝图片存储架构 (阅读 10,842)
  3. 解决IE6从Nginx服务器下载图片不Cache的Bug (阅读 8,220)
  4. 精于图片处理的10款jQuery插件 (阅读 7,260)
  5. When we`re only No.2, we try harder之聊天表情设计小探讨 (阅读 7,121)
  6. 通过php+imagick 创建PDF图片预览 (阅读 6,983)
  7. phpThumb:强大的缩微图类 (阅读 6,621)
  8. js实现预加载图片让图片快速显示 (阅读 6,121)
  9. 利用开源的Gearman框架构建分布式图片处理平台[原创] (阅读 5,223)
  10. 使用数据库存放图片 (阅读 5,021)