MIME-тип для загрузки файла является полностью информативным и не требует явного (и особенно) связывания того, что когда-либо происходило. Не надейся на это.
Firefox здесь не делает ничего плохого, это неправильные ожидания, которые вы заложили в свой скрипт - из Руководства по PHP & shy; Документы :
$_FILES['userfile']['type']
Тип файла mime, если браузер предоставил эту информацию. Примером может быть «image / gif». Этот тип MIME, однако, не проверяется на стороне PHP и поэтому не принимает его значение как должное.
Таким образом, использование этой информации ограничено, оно не является строгим.
Вы должны записать, какой тип mime был загружен, потому что вы не можете проверить все комбинации браузер / ОС.
Проверка файла также необходима, если вы хотите убедиться, что он соответствует соглашению mp3-файла. Рядом с fileinfo & shy; Docs (для всех файлов) есть php-reader и Zend_Mimme_Magic
и множество других библиотек, связанных с mp3-файлами.