我有存储在MySQL数据库中的文件。
我们需要找到这些文件的MIME类型,以强制文件在浏览器中打开而不是下载。
getimagesize和finfo在这种情况下不会工作,因为它们需要一个参数作为文件的路径而不是文件内容。
有没有办法直接从文件内容中检测PHP中的MIME类型。
答案 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