4

我正在开发一个 PHP 网站,当我上传从 ipad 以纵向模式拍摄的照片时,它会以横向显示在网站上,但是当我从计算机上传相同的照片时(照片没有更改)它在横向模式下正确显示。所有风景照片都以横向显示就好了。

我试图找到解决此问题的方法,并阅读了有关从 EXIF 数据中获取方向的信息,但无论照片是在横向还是肖像。

我试图从 ipad 将肖像照片上传到 flickr,并且它在肖像模式下正确显示,所以我错过了什么?

谢谢。

4

1 回答 1

2

取自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)

于 2013-02-24T09:00:24.563 回答