PHPでスマホからの投稿画像がパソコンで見ると変になるのを解決
PHP

スマホで投稿してもらった画像が
パソコンで見ると向きが違う!
なんでだ!
ってなると思うんですね。
では何故そうなるのか少し解説します。
スマホで写真をとると画像の向きなどの情報が写真に入ります。
スマホはその情報を見て向きを補正します。
webではその補正が効かないので補正してあげる必要があります。
まずは画像の情報を調べます!
$filename = "../api/fileupload/image.jpg";
$exif_data = exif_read_data($filename);
$img_number = $exif_data['Orientation'];
print $img_number;
これで数字が出現します。
出た数字を元に補正してください。
if($img_number == 6){
$source = imagecreatefromjpeg($filename);
$rotate = imagerotate($source,270, 0);
imagejpeg($rotate, $filename, 100);
// メモリの解放
imagedestroy($source);
imagedestroy($rotate);
}
もし6なら画像を回転させています。
投稿された画像を見て角度を調整してみてください。
ここで元ファイルを上書きしています。
imagejpeg($rotate, $filename, 100);
もし変化を見たい場合は別の名前にして保存してくださいね!
ではではまた!


大卒後めでたくIT大手起業に就職するも業績不振により半年で解雇。 24歳でIT会社を起業するも失敗。その後おとなしく制作会社で5年働き18号を巻き込んでおむすびを始めました。利用する人が少しでも幸せになるwebサービスを生み出していきます。