Php 顺序JPEG的SOS参数无效
我在使用Php 顺序JPEG的SOS参数无效,php,exif,Php,Exif,我在使用imagecreatefromjpeg函数时遇到此错误 Warning: imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Invalid SOS parameters for sequential JPEG in C:\wamp\www\test\index.php on line 7 我研究过,用这个命令传递错误很好,效果很好 ini_set("gd.jpeg_ignore_warning", 1); error
imagecreatefromjpeg
函数时遇到此错误
Warning: imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Invalid SOS parameters for sequential JPEG in C:\wamp\www\test\index.php on line 7
我研究过,用这个命令传递错误很好,效果很好
ini_set("gd.jpeg_ignore_warning", 1);
error_reporting(E_ALL & ~E_NOTICE);
但我想知道这是怎么回事
这里是我的图像exif数据
Array
(
[FileName] => 1.jpg
[FileDateTime] => 1455186386
[FileSize] => 1364340
[FileType] => 2
[MimeType] => image/jpeg
[SectionsFound] => ANY_TAG, IFD0, COMMENT, EXIF
[COMPUTED] => Array
(
[html] => width="2592" height="1944"
[Height] => 1944
[Width] => 2592
[IsColor] => 1
[ByteOrderMotorola] => 0
[ApertureFNumber] => f/1.9
[UserComment] =>
[UserCommentEncoding] => UNDEFINED
)
[ImageWidth] => 2592
[ImageLength] => 1944
[Make] => samsung
[Model] => SM-G920F
[Orientation] => 8
[XResolution] => 72/1
[YResolution] => 72/1
[ResolutionUnit] => 2
[Software] => G920FXXU3COJ1
[DateTime] => 2016:02:10 18:48:36
[YCbCrPositioning] => 1
[Exif_IFD_Pointer] => 226
[COMMENT] => Array
(
[0] => File written by Adobe Photoshop¨ 5.0
)
[ExposureTime] => 1/25
[FNumber] => 19/10
[ExposureProgram] => 2
[ISOSpeedRatings] => 200
[ExifVersion] => 0220
[DateTimeOriginal] => 2016:02:10 18:48:36
[DateTimeDigitized] => 2016:02:10 18:48:36
[ShutterSpeedValue] => 464/100
[ApertureValue] => 1851/1000
[BrightnessValue] => 33/100
[ExposureBiasValue] => 0/10
[MaxApertureValue] => 1851/1000
[MeteringMode] => 2
[Flash] => 0
[FocalLength] => 220/100
[MakerNote] => 0100 Z@P
[UserComment] =>
[FlashPixVersion] => 0100
[ColorSpace] => 1
[ExifImageWidth] => 2592
[ExifImageLength] => 1944
[ExposureMode] => 0
[WhiteBalance] => 0
[FocalLengthIn35mmFilm] => 22
[SceneCaptureType] => 0
[ImageUniqueID] => B05LLHA01PM
)
您可以使用忽略错误
ini_set ('gd.jpeg_ignore_warning', 1);
(这是自PHP7.1以来的默认值,但在旧版本中不是)
参见我也收到了同样的问题 我们使用了下面的代码来解决这个问题,它对我很有效
$image = @ImageCreateFromJpeg($image_name);
if (!$image)
{
$image= imagecreatefromstring(file_get_contents($image_name));
}
我知道这是一个旧的线程,但我正在寻找类似的问题。你的原始图像来自手机吗?尝试从另一个论坛搜索网页“这是libjpeg,抱怨jpeg文件结构不好。对此无能为力。”对我也不起作用。。。我不得不在imagecreatefromstring前面添加额外的@:
$image=@imagecreatefromstring(文件获取内容($image\u名称))代码>完美解决方案。