這是我在我的網站上做的事情。我相信這會幫助你解決問題。
的過程中類似的2個步驟完成: 1.閱讀取向 2.旋轉或翻轉圖像
function check_jpeg($f, $fix=false){
if (false !== (@$fd = fopen($f, 'r+b')))
{
if (fread($fd,2)==chr(255).chr(216))
{
fseek ($fd, -2, SEEK_END);
if (fread($fd,2)==chr(255).chr(217))
{
fclose($fd);
return true;
}
else
{
if ($fix && fwrite($fd,chr(255).chr(217)))
{
fclose($fd);
return true;
}
fclose($fd);
return false;
}
}
else
{
fclose($fd);
return false;
}
}
else
{
return false;
}
}
function fix_image($photo){
ini_set('memory_limit', '1024M');
check_jpeg($photo, true);
$image = @imagecreatefromjpeg($photo);
$exif = @exif_read_data($photo);
echo $exif['Orientation'];
if(!empty($exif['Orientation'])){
switch($exif['Orientation']){
case 8:
// means counterclockwise 90
$image = @imagerotate($image,90,0);
break;
case 3:
$image = @imagerotate($image,180,0);
break;
case 6:
$image = @imagerotate($image,-90,0);
break;
}
}
@imagejpeg($image,$photo);
}
希望這有助於
重複http://stackoverflow.com/questions/ 7489742/PHP-讀EXIF數據和調整取向 – pauljeba