部分手机拍照图片exif头信息中设置了Orientation,该参数影响图片的旋转方式,导致生成缩列图时会发生旋转。
需要使用内置函数exif_read_data获取图片exif头信息,该函数依赖扩展exif,大多数环境默认未开启或未加载该扩展,需要先添加该扩展。
代码语言:javascript复制 $exif = exif_read_data($image);
if (!empty($exif['Orientation'])) {
switch ($exif['Orientation']) {
case 8:
$im = imagerotate($im, 90, 0);
break;
case 3:
$im = imagerotate($im, 180, 0);
break;
case 6:
$im = imagerotate($im, -90, 0);
break;
}
}