karwana / mime
1.0.0
2014-07-17 02:48 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phing/phing: ~2.8.1
- phpunit/phpunit: ~4.1.3
This package is not auto-updated.
Last update: 2024-09-24 02:18:50 UTC
README
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
。