我正在开发一个 PHP 网站,当我上传从 ipad 以纵向模式拍摄的照片时,它会以横向显示在网站上,但是当我从计算机上传相同的照片时(照片没有更改)它在横向模式下正确显示。所有风景照片都以横向显示就好了。
我试图找到解决此问题的方法,并阅读了有关从 EXIF 数据中获取方向的信息,但无论照片是在横向还是肖像。
我试图从 ipad 将肖像照片上传到 flickr,并且它在肖像模式下正确显示,所以我错过了什么?
谢谢。
我正在开发一个 PHP 网站,当我上传从 ipad 以纵向模式拍摄的照片时,它会以横向显示在网站上,但是当我从计算机上传相同的照片时(照片没有更改)它在横向模式下正确显示。所有风景照片都以横向显示就好了。
我试图找到解决此问题的方法,并阅读了有关从 EXIF 数据中获取方向的信息,但无论照片是在横向还是肖像。
我试图从 ipad 将肖像照片上传到 flickr,并且它在肖像模式下正确显示,所以我错过了什么?
谢谢。
取自http://www.php.net/manual/en/function.exif-read-data.php#110894 来源:chadsmith729 at gmail dot com。
我自己没有测试过这个解决方案..
<?php
$image = imagecreatefromstring(file_get_contents($_FILES['image_upload']['tmp_name']));
$exif = exif_read_data($_FILES['image_upload']['tmp_name']);
if(!empty($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;
}
}
// $image now contains a resource with the image oriented correctly
?>
这应该适用于所有 Apple 产品(iPod、iPhone 和 iPad)