php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #75887 mime type detection problem
Submitted: 2018-01-29 21:21 UTC Modified: 2018-01-30 16:18 UTC
From: tunderzone at gmail dot com Assigned:
Status: Not a bug Package: Filesystem function related
PHP Version: 7.1.13 OS:
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
39 - 26 = ?
Subscribe to this entry?

 
 [2018-01-29 21:21 UTC] 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

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-01-29 23:29 UTC] requinix@php.net
-Status: Open +Status: Not a bug
 [2018-01-29 23:29 UTC] requinix@php.net
MIME detection works by examining the first few bytes of a file (or input stream). It is not perfect.
 [2018-01-30 11:37 UTC] 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-30 16:18 UTC] requinix@php.net
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");
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 09:01:27 2024 UTC