フォームからの画像データアップロードした際に、サムネイル画像も作成する。
<?php // コンテンツがPNG画像であることをブラウザにお知らせ // サーバー内に画像出力の場合は必要ない header ('Content-Type: image/png'); // オリジナル画像のファイルパスを指定 $original_file = 'images/sakura.png'; // getimagesize関数 オリジナル画像の横幅・高さを取得 list($original_width, $original_height) = getimagesize($original_file); // サムネイルの横幅を指定 $thumb_width = 200; // サムネイルの高さを算出 round関数で四捨五入 $thumb_height = round( $original_height * $thumb_width / $original_width ); // オリジナルファイルの画像リソース $original_image = imagecreatefrompng($original_file); // サムネイルの画像リソース $thumb_image = imagecreatetruecolor($thumb_width, $thumb_height); // サムネイル画像の作成 imagecopyresized($thumb_image, $original_image, 0, 0, 0, 0, $thumb_width, $thumb_height, $original_width, $original_height); // サムネイル画像の出力 imagepng($thumb_image, $out_dir.$file_name); // 第二引数に画像の出力パスを指定できる // 画像リソースを破棄 imagedestroy($original_image); imagedestroy($thumb_image); ?>
拡張子がバラバラな場合は、アップロードした画像の拡張子を取得し、出力の際に、拡張子にあった関数を実行しなければならない。
- png : imagepng();
- jpg : imagejpeg();
- gif : imagegif();