|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-11-24 14:55 UTC] ab@php.net
-Status: Open
+Status: Feedback
-Package: Fileinfo
+Package: *General Issues
[2016-11-24 14:55 UTC] ab@php.net
[2016-12-04 04:22 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 13:00:02 2025 UTC |
Description: ------------ different results from finfo_file and finfo_buffer Scenario: 1. MS Excel-File stored in mySQL database LONGBLOB-Column 2. This binary data selected from database 3. This binary data stored to tempfile 4. mime-type sniffing done by finfo_buffer on binary data > result: application/octet-stream 5. mime-type sniffing done by finfo_file on tempfile > result: application/vnd.ms-excel PROBLEM: different result, dependent on used Fileinfo Function Comment: The tempfile has NO extension like ".xls" that could be used as hint for mimetype-sniffing Reproduce code: --------------- <?PHP ... $tempFileName = tempnam(sys_get_temp_dir(), "tempfile"); $tempFileHandle = fopen($tempFileName, "w"); fwrite($tempFileHandle, $attrib); fclose($tempFileHandle); // ensure that "extension=php_fileinfo.dll" is enabled in php.ini $finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension $fileContentsTypeBuf = finfo_buffer($finfo, $attrib, FILEINFO_MIME_TYPE); $fileContentsType = finfo_file($finfo, $tempFileName); finfo_close($finfo); ... Expected result: ---------------- same result "application/vnd.ms-excel", independent from used Fileinfo Function (finfo_buffer or finfo_file) Actual result: -------------- different results "application/octet-stream" for finfo_buffer "application/vnd.ms-excel" for finfo_file