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サービスを生み出していきます。