PHPで画像のリサイズ、回転を行いたいわけですが、GDライブラリを使うと簡単にできます。
アップロードされた画像をファイルをリサイズする場合、下記のような感じです。
$imginfo = getimagesize( $_FILES['image']['tmp_name'] );if ( $imginfo[2] == IMAGETYPE_JPEG || $imginfo[2] == IMAGETYPE_GIF
|| $imginfo[2] == IMAGETYPE_PNG ){
$image = ImageCreateFromJPEG($_FILES['image']['tmp_name']); //JPEGファイルを読み込む
//回転する場合は、下記のようにする 引数は、画像、角度、回転後にカバーされない部分に利用される背景色
//$image = imagerotate($image, 90, 0);
$width = $imginfo[0]; //ImageSX($image)でも可
$height = $imginfo[1]; //ImageSY($image)でも可
//縮小サイズ決定
$new_width = 240;
$rate = $new_width / $width; //圧縮比を求める
$new_height = $rate * $height;
// 空の画像を作成する。
$new_image = ImageCreateTrueColor($new_width, $new_height);
//リサイズ サンプリングしなおす場合。(ImageCopyResizedよりこっちの方が綺麗みたい)
ImageCopyResampled($new_image,$image,0,0,0,0,$new_width,$new_height,$width,$height);
//ファイル保存(数値は品質)
ImageJPEG($new_image, $_FILES['image']['tmp_name'], 70);
//後処理 メモリ解放
ImageDestroy($image);
ImageDestroy($new_image);
}else{
//画像じゃないとき
echo "error:選択されたファイルは画像ファイルではありません。";
}
非常に簡単ですね。
参考: