class.upload.php is a powerful and mature PHP class to manage uploaded files, and manipulate images in many ways. The script is available under a GPL license.
I had the same problem. The source of this problem is that my MP3 files were being found to have MIME = application/octetstream. The solution above worked for me.
Thank you