KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am using the following code to rotate an uploaded jpeg image if the orientation is off. I am only having problems with images uploaded from iPhones and Android. if(move_uploaded_file($_FILES['photo']['tmp_name'], $upload_path . $newfilename)){ chmod($upload_path . $newfilename, 0755); $exif = exif_read_data($upload_path . $newfilename); $ort = $exif['IFD0']['Orientation']; switch($ort) { case 3: // 180 rotate left $image->imagerotate($upload_path . $newfilename, 180, -1); break; case 6: // 90 rotate right $image->imagerotate($upload_path . $newfilename, -90, -1); break; case 8: // 90 rotate left $image->imagerotate($upload_path . $newfilename, 90, -1); break; } imagejpeg($image, $upload_path . $newfilename, 100); $success_message = 'Photo Successfully Uploaded'; }else{ $error_count++; $error_message = 'Error: Upload Unsuccessful<br />Please Try Again'; } Am I doing something wrong with the way I am reading the EXIF data from the jpeg? It is not rotating the images as it is supposed to. This is what happens when I run a var_dump($exif); array(41) { ["FileName"]=> string(36) "126e7c0efcac2b76b3320e6187d03cfd.JPG" ["FileDateTime"]=> int(1316545667) ["FileSize"]=> int(1312472) ["FileType"]=> int(2) ["MimeType"]=> string(10) "image/jpeg" ["SectionsFound"]=> string(30) "ANY_TAG, IFD0, THUMBNAIL, EXIF" ["COMPUTED"]=> array(8) { ["html"]=> string(26) "width="2048" height="1536"" ["Height"]=> int(1536) ["Width"]=> int(2048) ["IsColor"]=> int(1) ["ByteOrderMotorola"]=> int(1) ["Aper
Tags (comma-separated)
Save Edits
Cancel