gpt4 book ai didi

php - 为什么在 php 中使用 imagecreatefromjpeg() 函数时会收到 "Corrupt JPEG data"消息?

转载 作者:行者123 更新时间:2023-12-02 15:39:12 25 4
gpt4 key购买 nike

我正在使用 imagecreatefromjpeg() 函数通过上传表单上传图像:

$folder = '../images/';
$image = imagecreatefromjpeg($_FILES['image']['tmp_name']);
$new = imagecreatetruecolor(300, 300);
imagecopyresampled($new, $image, 0, 0, 0, 0, 300, 300, 150, 150);
imagejpeg($new, $folder, 100);

大多数照片上传正常,但有些显示此错误:

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 756 extraneous bytes before marker 0xed

它似乎出现在某些但不是全部“.jpeg”文件中。我没有看到“.jpg”文件出现问题,但我不能确定这个问题是“.jpeg”文件独有的。我确实注意到,如果我将问题文件的扩展名从“.jpeg”更改为“.jpg”,它就可以正常工作。

为什么在 php 中使用 imagecreatefromjpeg() 函数时会收到“损坏的 JPEG 数据”消息?

最佳答案

I did notice that if I change the extension on the problem file from '.jpeg' to '.jpg', it works just fine.

你是重命名还是在图形程序中重新保存?

无论如何,您的文件似乎已损坏。看Bug #39918 imagecreatefromjpeg doesn't work .

GD does provide a mechanism to be more tolerant with broken jpeg images.

Using error_reporting(E_ALL); while developing would have told you what's going on. GD did report some errors in the jpeg codec. Some of the jpeg errors are recoverable, like those in this image.

You can change the behaviors of the jpeg codec using gd.jpeg_ignore_warning:

ini_set("gd.jpeg_ignore_warning", 1);

$im = imagecreatefromjpeg("test.jpeg");

$im contains now your image.

关于php - 为什么在 php 中使用 imagecreatefromjpeg() 函数时会收到 "Corrupt JPEG data"消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11323515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com