根据文件的资源检测文件的内容类型

时间:2016-02-17 21:29:03

标签: php mime-types

我试图根据其资源确定文件的内容类型。这些方面的东西:

$resource = fopen('/path/to/file', 'r');

$contentType = getContentTypeFromResource($resource);

我知道一种基于PHP位置获取PHP文件内容类型的方法:

// Method 1
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$contentType = finfo_file($finfo, '/path/to/file');

不幸的是,由于理由太长而无法在此处详细说明,因此我可以更轻松地从资源中确定这一点。

这可能吗?

1 个答案:

答案 0 :(得分:0)

我知道有点晚了,但我们不能使用tmpfile吗?

类似的东西:

$encoded = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
$resource = base64_decode($encoded);
$tmp = tmpfile();
fwrite($tmp, $resource);
rewind($tmp);
echo mime_content_type($tmp);
fclose($tmp);

似乎至少对我有用。