PHPで画像のサムネイルを作成していきたいと思います。9月7日記事。
目次
画像を小さくすることはimgタグのなかでwidth等を変えて小さくすることができます。しかし、その場合画像は一つのままです。サムネイル画像をPHPで作ることができれば、より画像表示の幅も広くなってきます。(データベースにサムネイル画像を別に登録したりとか。)今回はその方法についてまとめていきます。
PHPでプログラムを書く場合、ほとんどが、テキストの情報です。header("Content-Type: text/html; charset=UTF-8");や、HTMLのヘッダに<meta charset="utf-8">と書くとか。 この場合では画像が表示されません。header('Content-Type: image/png');やheader('Content-Type: image/jpeg');とかえてあげることが重要です。以下のコードを見ていきましょう。
<?php //一行目に記述 $file = "./moyashi.jpg";//./を必ずつけることが重要。 $percent = 0.25; $photo = getimagesize($file); $width = $photo[0]; $height = $photo[1]; $thum_width = $width * $percent; $thum_height = $height * $percent; $thumb = imagecreatetruecolor($thum_width , $thum_height); $image = imagecreatefromjpeg($file); imagecopyresized($thumb, $image, 0,0,0,0, $thum_width, $thum_height, $width , $height); header('Content-Type: image/png'); imagejpeg($thumb); imagedestroy($thumb); imagedestroy($image); ?>
このようにすることで、画像を0.25に縮小することが可能です。
1行目は必ずあけずに<?phpと書くことと、画像のパスはカレントディレクトリの場合./を付けていくことが重要です。次のPHPで画像のサムネイル作成ではサムネイル画像を生成するときに指定された縦横の状態でサムネイル画像を生成する方法を執筆していきたいと思います。
以上