- 締切済み
PHPでのプログレッシブJPEGの判定方法
PHPで、GIFかJPEGかの判定方法はわかるのですが、 JPEGで、プログレッシブJPEGかどうかの判定方法がわかりません 同様に、GIFで、インターレースGIFなのかや、アニメーションGIFなのかや、透過GIFなのかの判定方法もわかりません どなかたご存知な方がいらっしゃいましたら、 教えて下さい。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hogehoge78
- ベストアンサー率80% (433/539)
結局、通常のWindowsアプリケーション(ビューアーやphotoshopなど)は、画像のバイナリを読んで判別したりおりますので、 http://www.marguerite.jp/Nihongo/Labo/Image/JPEG2.html こちらや、 http://hp.vector.co.jp/authors/VA032610/JPEGFormat/JPEGsegment.htm こちらの内容を読んでいただいて、JPEGのヘッダファイルがどのようになっているかを見ていただいて、PHPで処理するといったところになります。 一応、簡単にサンプルを作ってみました。 function is_pjpeg($path){ $match = '|^ffd8ffe0.{4}4a46494600(.+?)ffdb(.+?)ffc4(.+?)ffc2|'; $fp = fopen($path, 'r'); if(!$fp) return false; $check_data = fread($fp, 4096); fclose($fp); $pack = unpack('H*', $check_data); $check_data = $pack[1]; $flag = preg_match($match, $check_data, $m); return $flag; } わーっと作りましたので、実際判別ミスをするかもしれません。
お礼
サンプルまで作成いただきありがとうございます さっそく、活用させていただきます やはり、すてきなライブラリなどはないのですね