【发布时间】:2014-03-15 06:58:51
【问题描述】:
我有一个上传文件的脚本。我添加了一个功能,应该旋转从 iPhone 或 iPad 上传的照片的图像 ..因为根据拍摄方式,它们可以横向或倒置显示。我想我的代码是正确的,但由于某种原因,在执行上传时,它仍然根本没有旋转。我做错了什么?
$uploadedFileName = $this->relative_path . $base_dir . $file_name;
$is_upload = @copy($file_details['tmp_name'], $uploadedFileName);
$exif = exif_read_data($uploadedFileName);
$orientation = $exif['COMPUTED']['Orientation'];
if (isset($orientation)) {
switch ($orientation) {
case 3:
$image_p = imagerotate($uploadedFileName, 180, 0);
break;
case 6:
$image_p = imagerotate($uploadedFileName, -90, 0);
break;
case 8:
$image_p = imagerotate($uploadedFileName, 90, 0);
break;
}
// Output
imagejpeg($image_p, $uploadedFileName, 100);
}
【问题讨论】:
-
$image_p变量在哪里定义? -
你说得对,我刚刚更新了代码。上传有效,但图像仍未旋转。任何想法我做错了什么? :(
-
检查
$exif['COMPUTED']数组。它包含什么?什么是 $orientation 值?
标签: php image upload rotation orientation