blobfolio / blob-mimes
PHP的综合MIME和文件扩展工具。
Requires
- php: >= 7.0
- ext-bcmath: *
- ext-dom: *
- ext-filter: *
- ext-hash: *
- ext-json: *
- ext-mbstring: *
- blobfolio/blob-common: *
Requires (Dev)
- phpunit/phpunit: 5.7.*
README
已弃用:该项目不再积极维护。请参阅 Righteous MIMEs。
PHP的综合MIME和文件扩展工具。终于有了!
目录
功能
它应该很简单,但MIME类型和文件扩展名非常不一致。在验证文件上传等情况下,尝试推导和/或修正该信息在任何编程语言中都是一场噩梦。
blob-mimes 是一个PHP库,具有综合的MIME/扩展数据库,并提供简单的方法来访问这些信息。
- 根据文件名或扩展名检索MIME信息;
- 为给定的MIME类型检索文件扩展名;
- 从本地文件检索MIME信息并验证其扩展名与实际内容匹配;
数据库是从以下来源编译的
要求
blob-mimes 需要 PHP 7.0+ 以及以下模块
- BCMath
- DOM
- Fileinfo
- Filter
- JSON
- MBString
- SimpleXML
UTF-8用于所有字符串编码。这可能会在与其他编码方式的环境中使用时产生冲突。
构建脚本还需要cURL。
安装
通过Composer安装
composer require "blobfolio/blob-mimes:dev-master"
参考
check_ext_and_mime()
验证文件扩展名和MIME类型是否匹配。由于技术始终在发展,MIME标准也始终在变化,因此这将考虑 some/thing 和 some/x-thing 相当。
参数
- (string) 文件扩展名
- (string) MIME类型
- (bool) (可选) 软件跳过。如果
TRUE,则如果缺少关于扩展名或MIME类型的任何信息,检查将返回TRUE。
返回值
返回 TRUE 或 FALSE。
示例
$foo = blobfolio\mimes\mimes::check_ext_and_mime('jpeg', 'image/jpeg'); //TRUE $foo = blobfolio\mimes\mimes::check_ext_and_mime('jpeg', 'image/gif'); //FALSE
finfo()
使用文件名和/或内容检索文件的路径和类型信息。如果确定文件命名不正确,则建议使用正确文件扩展名的替代名称。
参数
- (字符串) 路径
- (字符串) (可选) 美观名称。如果提供,美观名称将被视为文件名。这在传递临时上传文件时可能很有用。默认:
NULL
返回值
返回以下格式的所有文件信息。
示例
print_r(blobfolio\mimes\mimes::finfo('../wp/img/blobfolio.svg')); /* array( [dirname] => /var/www/blob-common/wp/img [basename] => blobfolio.svg [extension] => svg [filename] => blobfolio [path] => /var/www/blob-common/wp/img/blobfolio.svg [mime] => image/svg+xml [suggested_filename] => array() ) */
get_extension()
检索有关文件扩展名的信息。
参数
- (string) 文件扩展名
返回值
返回信息或 FALSE。注意:第一个 MIME 条目将始终是官方的(或最传统的)媒体类型。
print_r(blobfolio\mimes\mimes::get_extension('jpeg')); /* array( [ext] => jpeg [mime] => array( 0 => image/jpeg 1 => image/pjpeg ) ) */
get_extensions()
检索有关所有已知文件扩展名的信息。
参数
N/A
返回值
返回按扩展名组织的 MIME 数据库。
get_mime()
检索有关 MIME 类型的信息。
参数
- (string) MIME类型
返回值
返回信息或 FALSE。
示例
print_r(blobfolio\mimes\mimes::get_mime('image/jpeg')); /* array( [mime] => image/jpeg [ext] => array( 0 => jpeg 1 => jpg 2 => jpe ) [source] => array( 0 => Apache 1 => Nginx 2 => freedesktop.org ) ) */
get_mimes()
检索有关所有已知 MIME 类型的信息。
参数
N/A
返回值
返回按类型组织的 MIME 数据库。注意:第一个扩展名应该是该类型的最常见扩展名。
许可
版权所有 © 2018 Blobfolio, LLC <hello@blobfolio.com>
本作品是免费的。您可以在 Do What The Fuck You Want To Public License,Version 2 的条款下重新分发或修改它。
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
捐赠
| 如果您觉得这项工作很有用并想进行财务捐赠,比特币小费总是受欢迎的! 1Af56Nxauv8M1ChyQxtBe1yvdp2jtaB1GF |