php – 直接从iPad上传到网站时,Ipad照片不会旋转,但从计算机上传时可以正常

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

我试图找到一种方法来解决这个问题,并阅读有关从EXIF数据获取方向的信息,但“方向”标签实际上始终是相同的(如果我没记错的话,则为1)无论照片是以横向拍摄还是肖像.

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

谢谢.

最佳答案 取自
http://www.php.net/manual/en/function.exif-read-data.php#110894

图片来源:gds dot com的chadsmith729.

我自己没有测试过这个解决方案..

<?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)

点赞