【问题标题】:Detect MIME Type of file extracted from Database检测从数据库中提取的文件的 MIME 类型
【发布时间】:2017-01-18 03:01:13
【问题描述】:

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

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

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

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

【问题讨论】:

  • 为什么还要将文件保存到数据库中?
  • 您是否也保存了扩展程序?

标签: php mysql mime


【解决方案1】:

您可以使用 finfo_open 和 finfo_buffer 获取 mime 类型。在此示例中,我从 google 读取图像内容并获取其 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

【讨论】:

    猜你喜欢
    • 2011-06-19
    • 2012-04-11
    • 2011-06-03
    • 2014-09-12
    • 2010-09-30
    • 2014-08-06
    • 2016-05-19
    • 1970-01-01
    相关资源
    最近更新 更多