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

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

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

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

    从备份源中找到了用户上传失败的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. SmartPerfetto 2026.06.04-07.17 六周更新复盘:从 v1.0.28 到 v1.1.1 (2026-07-17 00:00:00)
  2. 用 CLIProxyAPI 把 Codex 变成一个 OpenAI 兼容的 API 服务 (2026-07-12 22:05:00)
  3. 读完 Bun 用 Rust 重写:1 个人 11 天重写 50 万行代码是怎么做到的 (2026-07-12 08:00:00)

查看更多 后端 文章 →

建议继续学习

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