Эффект перевернутого изображения: почему переворачивается картинка на сайте?
Дело 100% в EXIF. Сегодня какраз столкнулся с аналогом фотография повернута на 90 градусов, в EXIF стоит Orientation 90 СW. 
При просмотре в теле страницы показывает перевернутой, а при "открыть картинку в новой вкладке" показывает картинку повернутой правильно. Т.е. современные браузеры когда показывают только картинку берут ее (в моем случае повернутую набок) смотрят на EXIF и поворачивают как надо.
Сравните к примеру:
filarmonia23.com/1.php <html>
	<head>
		<title>EXIF ORIENTATION TEST</title>
	</head>
	<body>
		<img src="/image.jpg" />
	</body>
</html>
и само фото filarmonia23.com/image.jpg (кстати в ИЕ 9 показывает нормально т.е. ему плевать на EXIF)
Для проекта мы рассматривали 2 варианта решения:
Первый вариант - при загрузке фото удалять все данные EXIF
Второй вариант - при загрузке фото если есть данные EXIF - повернуть фото согласно данных.
Остановились на 2-м варианте$img = new Imagick($uploaded_img);
$orientation = $img->getImageOrientation();
switch($orientation) { 
		case imagick::ORIENTATION_BOTTOMRIGHT: 
				$img->rotateimage("#000", 180); // rotate 180 degrees 
		break; 
		case imagick::ORIENTATION_RIGHTTOP: 
				$img->rotateimage("#000", 90); // rotate 90 degrees CW 
		break; 
		case imagick::ORIENTATION_LEFTBOTTOM: 
				$img->rotateimage("#000", -90); // rotate 90 degrees CCW 
		break; 
}
$img->setImageOrientation(imagick::ORIENTATION_TOPLEFT);
$img->writeImage($uploaded_img);
$img->clear();
$img->destroy();
Первый вариант был бы примерно так:$img = new Imagick($uploaded_img);
$img->stripImage();
$img->writeImage($uploaded_img);
$img->clear();
$img->destroy();
Ну а дальше можно уже и пользователю позволить поворачивать фото и т.д. и т.п.
php.net/manual/ru/book.imagick.php
Дело в EXIF, там указана ориентация камеры. Большинство просмотрщиков читает EXIF и поворачивает картинку. Запомните, перед размещением картинки в интернете удаляйте все метаданные, они никому не нужны.
Исключение, серьезные фотостоки.