文字列(バイナリデータ)から、画像形式を取得する事って可能でしょうか?

$res = imagecreatefromstring($data);

でデータから画像リソースを生成する事は出来るのですが、生成元の画像形式を判別したいです。
それらしい関数が存在しないのですが・・・自前でバイナリデータを解析するしか無いのでしょうか?