karwana/mime

1.0.0 2014-07-17 02:48 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:18:50 UTC


README

Build Status

PHP 的 MIME 类型及文件扩展名工具。由 finfo 和 Apache 提供的公共领域 mime.types 映射(媒体类型到唯一文件扩展名)驱动。

示例

要开始使用,在需要使用此库的任何地方使用命名空间。

use Karwana\Mime;

对于上传的文件

首先我们获取规范扩展名并用于永久文件名。如果没有扩展名或扩展名未列出,则使用原始文件名作为后备,运行 finfo

$extension = Mime::guessExtension($_FILES['my_file']['tmp_name'], $_FILES['my_file']['name']);

move_uploaded_file($_FILES['my_file']['tmp_name'], 'uploads/' . Uuid::v4() . '.' . $extension);

稍后,如果我们想向客户端提供文件,我们可以返回适当的 MIME 类型。

header('Content-Type: ' . Mime::guessType($my_file));
header('Content-Length: ' . filesize($my_file));
readfile($my_file);

为无扩展名的文件添加扩展名

您可能希望将此作为批量作业的一部分进行。

$my_file = 'path/to/extensionless_file';

rename($my_file, $my_file . '.' . Mime::guessExtension($my_file));

开发

使用 $ vendor/bin/phing test 运行测试。

使用提供的脚本将 MIME 类型列表更新到 Apache 追踪器的最新版本。

curl https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | \
bin/mime_types2json > Mime/Resources/mime_types.json

许可

参见 LICENSE