PHPで画像のサムネイルを作成していきたいと思います。9月7日記事。

目次





画像を小さく表示させることとの違い。

画像を小さくすることはimgタグのなかでwidth等を変えて小さくすることができます。しかし、その場合画像は一つのままです。サムネイル画像をPHPで作ることができれば、より画像表示の幅も広くなってきます。(データベースにサムネイル画像を別に登録したりとか。)今回はその方法についてまとめていきます。

header情報を画像に変更

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で画像のサムネイル作成ではサムネイル画像を生成するときに指定された縦横の状態でサムネイル画像を生成する方法を執筆していきたいと思います。

以上

最終更新:2015年09月09日 23:33