スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPで画像データのフォーマット判定

Zend_Http_Clientで画像を取ってくると、場合によってはMIMEタイプがocted-streamとかになっていて画像フォーマットがわからないことがあります。
ですのでバイナリから直接、画像フォーマットを判定する関数を作りました。
バイナリ頭の2バイトから判定する安直なものなので、厳密ではありません。
jpeg,gif,png,bmpが対象です。
function getImageFormat(&$data) {
$binary = substr($data, 0, 2);
$hex = bin2hex($binary);

if (strcasecmp($hex, 'FFD8') === 0) {
return "jpeg";
} else if (strcasecmp($hex, '8950') === 0) {
return "png";
} else if (strcasecmp($hex, '4749') === 0) {
return "gif";
} else if (strcasecmp($hex, '424D') === 0) {
return "bmp";
} else {
return "";
}
}
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。