If you are attempting to get a file’s MIME type with your PHP installation for the first time, you may find that the MIME type always shows up as application/x-dpkg.
In this article, I will provide you with a fixed magic.mime file and show you what is happening.
When this happens
If you have PHP earlier than 5.3 installed on Windows (such as a WAMP server) and attempt to use
mime.magic or the
fileinfo extension to get file information.
Depending on your version of the
magic.mime file, your may experience this issue. If you get your magic database separately from WAMP, from GnuWin32 for instance, it is already been formatted correctly. However, you wouldn’t be here if that was the case :).
Why this happens
PHP looks in your
magic.mime file (which is a long list of mime types) for the correct MIME type. Windows gets hung up when an exclamation point appears at the front of the MIME type and stops there.
The first line that uses an exclamation point like this just so happens to be
0 string !<arch>\ndebian application/x-dpkg
Download the fixed file
magic.mime to work, you have to escape all starting exclamation points using backslashes. I already took care of that for you. You can download the file below. Simply swap yours with the Windows version or put it elsewhere and point to it in your finfo call.
If this file helped you out, leave a comment!