<?php
if(!function_exists("gd_auto_rotate")){
function gd_auto_rotate($original_file, $destination_file=NULL){
$original_extension = strtolower(pathinfo($original_file, PATHINFO_EXTENSION));
if(isset($destination_file) and $destination_file!=''){
$destination_extension = strtolower(pathinfo($destination_file, PATHINFO_EXTENSION));
}
if(function_exists("exif_read_data")){
$exif_data = exif_read_data($original_file);
$exif_orientation = $exif_data['Orientation'];
if($exif_orientation=='3' or $exif_orientation=='6' or $exif_orientation=='8'){
$new_angle[3] = 180;
$new_angle[6] = -90;
$new_angle[8] = 90;
if($original_extension == "jpg" or $original_extension == "jpeg"){
$original_image = imagecreatefromjpeg($original_file);
}
if($original_extension == "gif"){
$original_image = imagecreatefromgif($original_file);
}
if($original_extension == "png"){
$original_image = imagecreatefrompng($original_file);
}
$rotated_image = imagerotate($original_image, $new_angle[$exif_orientation], 0);
if(!$destination_file){
header('Content-type: image/jpeg');
imagejpeg($rotated_image, NULL, 100);
}
if($destination_extension == "jpg" or $destination_extension=="jpeg"){
imagejpeg($rotated_image, $destination_file,100);
}
if($destination_extension == "gif"){
imagegif($rotated_image, $destination_file);
}
if($destination_extension == "png"){
imagepng($rotated_image, $destination_file,9);
}
imagedestroy($original_image);
imagedestroy($rotated_image);
}
}
}
}
?>