mzur/guess-mime

此包已被弃用且不再维护。作者建议使用 league/mime-type-detection 包。

从文件扩展名猜测MIME类型(仅限Linux)。

v1.0 2021-08-03 08:29 UTC

This package is auto-updated.

Last update: 2022-04-21 09:57:39 UTC


README

Tests

弃用: 使用 league/mime-type-detection 代替。

从文件扩展名猜测MIME类型(仅限Linux)。如果文件不存在或无法访问,这可能很有用。

警告: 如果文件实际存在且可以访问(例如检查用户上传的文件),则不应使用此包。请使用 finfo_file

安装

composer require mzur/guess-mime

默认情况下,此包需要存在 /etc/mime.types 文件。例如,可以使用 mime-support 包(Ubuntu)或 mailcap 包(Alpine)进行安装。也可以配置不同的文件(见下文)。

使用方法

use Mzur\GuessMIME\GuessMIME;

$gm = new GuessMIME;
$mime = $gm->guess('image.jpg');
var_dump($mime); // image/jpeg

如果无法猜测MIME类型,则返回 application/octet-stream。您还可以限制可用的MIME类型,使用不同的MIME类型数据库文件(默认:/etc/mime.types),并在无法猜测MIME类型时返回 null

use Mzur\GuessMIME\GuessMIME;

// Limit detection to image/jpeg and use a different database file.
$gm = new GuessMIME(['image/jpeg'], '/home/user/.mime.types');

// Default MIME type.
$mime = $gm->guess('image.png');
var_dump($mime); // application/octet-stream

// Use strict check.
$mime = $gm->guess('image.png', true);
var_dump($mime); // null