检测从数据库中提取的MIME文件类型

时间:2016-09-09 22:12:23

标签: php mysql mime

我有存储在MySQL数据库中的文件。

我们需要找到这些文件的MIME类型,以强制文件在浏览器中打开而不是下载。

getimagesize和finfo在这种情况下不会工作,因为它们需要一个参数作为文件的路径而不是文件内容。

有没有办法直接从文件内容中检测PHP中的MIME类型。

1 个答案:

答案 0 :(得分:2)

您可以使用finfo_open和finfo_buffer获取mime类型。在这个例子中,我从谷歌阅读图像的内容,并获得其mimetype:

<?php

$Resource = finfo_open(FILEINFO_MIME);
$Info     = finfo_buffer($Resource, file_get_contents('https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png')); // Returns: image/png; charset=binary

list($Mime, $Other) = explode(";", $Info);

echo $Mime; // image/png