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

时间:2012-11-22 09:37:31

标签: php ipad orientation exif

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

我试图找到解决此问题的方法,并阅读有关从EXIF数据获取方向的信息,但“方向”标记实际上始终相同(如果我没记错的话,则为1)是否已拍摄照片在风景或肖像。

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

感谢。

1 个答案:

答案 0 :(得分:2)

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