前の記事 «:[ThinkIT] 第1回:今だからこその「PHPのすすめ」
次の記事 »:CSSを使ったテキストをデザインとして魅せるテクニック集

ファイルの先頭8バイトだけで画像のフォーマットを調べる方法

2007年05月20日

スポンサード リンク
ファイルの先頭8バイトだけで画像のフォーマットを調べる - bits and bytes
PHPでファイルをアップロードしたとき $_FILES にアップロードされたファイルについての情報が入っています。そして $_FILES[...]['type'] にはアップロードされたファイルの MIME type が入っています。

ファイルの先頭8バイトだけで画像のフォーマットを調べる方法。
次のコードによって、バイト列の画像フォーマットが何であるかを調べることができるようです。

if ( preg_match( '/^x89PNGx0dx0ax1ax0a/', $image_stream) ) {
    $type = "png";
} elseif ( preg_match( '/^GIF8[79]a/', $image_stream) ) {
    $type = "gif";
} elseif ( preg_match( '/^xffxd8/', $image_stream) ) {
    $type = "jpg";
}

原理については参照ページを参考。

スポンサード リンク

投稿者 KJ : 2007年05月20日 12:03 | ブックマークに追加する Subscribe with livedoor Reader
間違いの指摘をしていただける方はメールでお願いします


本を執筆しました。