是之前遇到的一个奇怪的问题,就是使用 getimagesize 去获取一个图片的长和宽,但是得到的信息,长和宽反了。
应该是图片自身的原因,找到如下代码,解决了问题
http://stackoverflow.com/questions/36069618/php-getimagesize-reverses-width-height
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| $image = imagecreatefromstring(file_get_contents($file)); $exif = exif_read_data($file); if(!empty($exif['Orientation'])) { echo $exif['Orientation']; switch($exif['Orientation']) { case 8: $image = imagerotate($image,90,0); break; case 3: $image = imagerotate($image,180,0); break; case 6: $image = imagerotate($image,-90,0); break; } } imagejpeg($image, $file); print_r(getimagesize($file));
|
大概是图片的元信息除了问题,EXIF (exchangeable image file format) ,没再细看了,很复杂的样子,先记录一下。