判断是否需要旋转
/**
*iphone判断图片方向,是否需要旋转图片
*/
if(strpos($_SERVER[\'HTTP_USER_AGENT\'], \'iPhone\')&&in_array($ext, array(\'jpg\',\'png\',\'gif\',\'jpeg\',\'jepg\'))){
$exif =exif_read_data($tmp);
switch ($exif[\'Orientation\']){
case 6:
self::imgturn($tmp,1,$ext);
break;
case 3:
self::imgturn($tmp,1,$ext);
self::imgturn($tmp,1,$ext);
break;
case 8:
self::imgturn($tmp,2,$ext);
break;
}
}
一下是php旋转方法
function imgturn($src, $direction = 1,$ext) {
switch ($ext) {
case \'gif\' :
$img = imagecreatefromgif ( $src );
break;
case \'jepg\':
case \'jpg\' :
case \'jpeg\' :
$img = imagecreatefromjpeg ( $src );
break;
case \'png\' :
$img = imagecreatefrompng ( $src );
break;
default :
die ( \'图片格式错误!\' );
break;
}
$width = imagesx ( $img );
$height = imagesy ( $img );
$img2 = imagecreatetruecolor ( $height, $width );
// 顺时针旋转90度
if ($direction == 1) {
for($x = 0; $x < $width; $x ++) {
for($y = 0; $y < $height; $y ++) {
imagecopy ( $img2, $img, $height - 1 - $y, $x, $x, $y, 1, 1 );
}
}
} else if ($direction == 2) {
// 逆时针旋转90度
for($x = 0; $x < $height; $x ++) {
for($y = 0; $y < $width; $y ++) {
imagecopy ( $img2, $img, $x, $y, $width - 1 - $y, $x, 1, 1 );
}
}
}
switch ($ext) {
case \'jepg\':
case \'jpg\' :
case "jpeg" :
imagejpeg ( $img2, $src, 100 );
break;
case "gif" :
imagegif ( $img2, $src, 100 );
break;
case "png" :
imagepng ( $img2, $src, 100 );
break;
default :
die ( \'图片格式错误!\' );
break;
}
imagedestroy ( $img );
imagedestroy ( $img2 );
}