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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: tunderzone at gmail dot com
New email:
PHP Version: OS:

 

 [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: Thu Apr 18 02:02:52 2024 UTC