最近在开发一个文件上传和下载相关的模块时,我遇到了文件类型识别的问题。我需要根据文件的扩展名来判断其 MIME 类型,以便正确地处理这些文件。然而,我发现 PHP 内置的函数或者一些简单的库并不能提供足够准确和全面的 MIME 类型映射。一些文件类型的识别不够准确,而且缺少对一些常见文件类型的支持。
为了解决这个问题,我开始寻找更专业的 mime 类型处理库。最终,我发现了 adrienrn/php-mimetyper 这个库。
Composer在线学习地址:学习地址
adrienrn/php-mimetyper
jshttp/mime-db
adrienrn/php-mimetyper
使用 Composer 安装
adrienrn/php-mimetyper
<pre class="brush:php;toolbar:false;">composer require adrienrn/php-mimetyper
安装完成后,你可以轻松地使用它来查找文件扩展名对应的 MIME 类型,或者根据 MIME 类型查找对应的文件扩展名:
立即学习“PHP免费学习笔记(深入)”;
<pre class="brush:php;toolbar:false;">use MimeTyper\Repository\MimeDbRepository;
$mimeRepository = new MimeDbRepository();
// 根据 MIME 类型查找文件扩展名
$extensions = $mimeRepository->findExtensions("image/jpeg"); // 返回 ["jpeg","jpg","jpe"]
$extension = $mimeRepository->findExtension("image/jpeg"); // 返回 "jpeg"
// 根据文件扩展名查找 MIME 类型
$mimeType = $mimeRepository->findType("html"); // 返回 "text/html"
$mimeType = $mimeRepository->findType("js"); // 返回 "application/javascript"adrienrn/php-mimetyper
ExtraMimeTypeExtensionGuesser
adrienrn/php-mimetyper
<pre class="brush:php;toolbar:false;">use Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser;
use MimeTyper\Repository\ExtendedRepository;
use MimeTyper\Symfony\ExtraMimeTypeExtensionGuesser;
$symfonyGuesser = ExtensionGuesser::getInstance();
$extraGuesser = new ExtraMimeTypeExtensionGuesser(
new ExtendedRepository()
);
$symfonyGuesser->register($extraGuesser);通过使用
adrienrn/php-mimetyper
adrienrn/php-mimetyper
以上就是告别文件类型识别难题:adrienrn/php-mimetyper助你轻松搞定MIME类型的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号