IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

Penner Blog 2009-10-16 12:03:38 累计浏览 4,263 次
本机暂存

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

    从备份源中找到了用户上传失败的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. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 使用gettext来支持PHP的多语言 (累计阅读 39,271)
  2. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,165)
  3. Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,409)
  4. 我的PHP,Python和Ruby之路 (累计阅读 13,150)
  5. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,791)
  6. 15个最好的免费开源电子商务平台 (累计阅读 12,542)
  7. Redis消息队列的若干实现方式 (累计阅读 12,088)
  8. 到底什么是MVC? (累计阅读 11,872)
  9. 整理了一份招PHP高级工程师的面试题 (累计阅读 11,712)
  10. Rolling cURL: PHP并发最佳实践 (累计阅读 11,488)