gifファイルがアニメーションgifか判定するクラス

アニメgifか判定のクラス、晒そうと思います。
動かないことに定評があるラブ☆コン(ピュータ)のコードですが、これは動きます。
 

<?php
// mana @20090328

class IfAnimationGif{
	var $path;
	function __construct($path){
		$this->path = $path;
	}
	function judge(){
		$imgcnt = 0;
		
		$fp = fopen($this->path,"rb");
		@fread($fp,4);
		$c = @fread($fp,1);
		if(ord($c) !== 0x39) {	// GIF89aである(アニメーションかも)
			return false;
		}

		while(!feof($fp)){
			do{
				$c = fread($fp,1);
			}while(ord($c) !== 0x21 && !feof($fp));	// 拡張ブロック開始まで送る
			if(feof($fp)){
				break;
			}
			$c2 = fread($fp,2);
			if(bin2hex($c2) === "f904"){	// Graphic Control Extension固定値
				$imgcnt++;
			}
			if(feof($fp)){
				break;
			}
			
		}
		if($imgcnt > 1){
			return true;
		} else {
			return false;
		}
	}
}/*
$path = gifファイルのファイルパス
$anigif = new IfAnimationGif($path);
echo var_dump($anigif->judge()); // trueだったら、gifアニメ。
*/
?>

・ひとりごと
bin2hexという関数、ぐぐったら出てきました。
その名のとおり、バイナリ16進数を文字列16進数にするものです。
if(bin2hex($c2) === "f904")
だと動くのですが
if(ord($c2) === 0xf904)
ってやったら、動かなくて・・・それでかなり時間くいました。。