見出し画像

[PHP] Exif のサムネイルをブラウザに表示する

exif_thumbnail() とか exif_read_data() で取得したサムネイルをHTML内に表示する方法。

$thumb = exif_thumbnail( $path, $width, $height, $type );
// $path は元画像のパス

if ( IMG_JPEG === $type ) {
// 取得したサムネイルのタイプが jpeg だったら出力する

	printf(
		'<img src="data:%s; base64,%s" width="%d" height="%d" alt="">',
		image_type_to_mime_type( $type ),
		base64_encode( $thumb ),
		$width,
		$height
	);
}

エンコードして <img> で表示するよ、ってこと。

サムネイルの画像形式が tiff だとそのままではブラウザに表示できないので  $type が PHP定数の IMG_JPEG に等しいときだけ出力している。

参考リンク

PHP: exif_thumbnail - Manual
PHP: exif_read_data - Manual
PHP: base64_encode - Manual
PHP: printf - Manual


この記事が気に入ったらサポートをしてみませんか?