Bug #75887 [Nab]: mime type detection problem
| From: | requinix@php.net | Date: | Tue, 30 Jan 2018 16:18:23 +0000 |
| Subject: | Bug #75887 [Nab]: mime type detection problem | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-213754@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=75887&edit=1
ID: 75887
Updated by: requinix@php.net
Reported by: tunderzone at gmail dot com
Summary: mime type detection problem
Status: Not a bug
Type: Bug
Package: Filesystem function related
PHP Version: 7.1.13
Block user comment: N
Private report: N
New Comment:
PHP's bundled information comes from the libmagic library, which has a rule that says to scan
lines for ".text" and mark the content as text/x-asm if found.
https://github.com/file/file/blob/master/magic/Magdir/assembler
So the bundled magic database isn't working for you. Try with your system's - probably
/usr/share/misc/magic.
$info = finfo_open(FILEINFO_MIME_TYPE, "/usr/share/misc/magic");
Previous Comments:
------------------------------------------------------------------------
[2018-01-30 11:37:19] tunderzone at gmail dot com
the text that cause this is not on first line nor last. it is somewhere in the middle of the file.
the file size is 14K.
running finfo_open and finfo_file on that file in php 5.5.38 yields text/plain but in php7.1.13
yields text/x-asm
something has changed from php 5 to php 7. this is why i posted this bug.
------------------------------------------------------------------------
[2018-01-29 23:29:15] requinix@php.net
MIME detection works by examining the first few bytes of a file (or input stream). It is not
perfect.
------------------------------------------------------------------------
[2018-01-29 21:21:43] tunderzone at gmail dot com
Description:
------------
having ".text" as first characters on any line of a css file will result in mime being
resolved as text/x-asm.
Test script:
---------------
<?php
$info = finfo_open(FILEINFO_MIME_TYPE);
$tipe = finfo_buffer($info, '.text {color: #CCCCCC;}');
var_dump($tipe);
finfo_close($info);
Expected result:
----------------
text/css
or
text/plain
Actual result:
--------------
text/x-asm
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=75887&edit=1