Хм.. Насколько мне известно, все файлы являются двоичными, то бишь, бинарными. Чтобы ОС разобралась, что же ей, собственно, делать с файлом придумали расширение (в юниксах расширение в принципе не нужно, так как ОС нужно лишь знать - выполнять ей этот файл или не выполнять).
Ну дык вот. Расширение - вещь относительная, но полезная. Нужно помнить, что это лишь подсказка для того, чтобы догадаться что за инфа внутри. Никто не мешает взять текстовый файл some.txt и переименовать его в some.jpg - информация никуда не денется.
Итак, предположу, что мистер maloii захотел предсказать тип файла чтобы корректно его обработать в своей программе. Тут все просто - качай http://pecl.php.net/package/Fileinfo , читай, изучай, пользуйся. Кстати, во многих форматах файлов есть заголовок предназначенный для программы декодирования (будь то mp3 или jpeg). Это тоже можно использовать.