Detecting MIME type in PHP

I'm looking for the best (possible on most PHP 5.2 installs and still actively developed) way to detect a files MIME type in PHP.

I'm aware of the mime_content_type() method and the Fileinfo extension, however mime_content_type() is unreliable and deprecated, and Fileinfo doesn't come in a "standard" PHP (5.2) install.

Do I have any other options?


(lol sorry I realized this was asked months ago as I was finishing up. oh well. might as well add this...)

If it's a *nix server you could use file command.

file -bi <filepath>

You'd have to use "exec" in PHP to do that I guess? I'm new to PHP so don't quote me on this but...

$content_type = exec("file -bi " . escapeshellarg($filepath));

I didn't test it so you might need to escape the path string and format the output.

Dunno if this will be more reliable than the other methods.


Have you looked into this PEAR package?

http://pear.php.net/package/MIME_Type