一、Fileinfo 函数的发展
Fileinfo 函数在PHP 5.3.0 之前的版本,需要magic_open库来
构建此扩展。
从 PHP 5.3.0 开始,本扩展是默认开启的。在之前的版本中,fileinfo 是一个 PECL 扩展,但是已经不再持续维护。
5.3+ 之前的版本,可以使用» 停止使用的 PECL 扩展。
Windows 用户需要在php.ini中开启绑定的php_fileinfo.dllDLL来启用本扩展。
PHP 中绑定了 libmagic 库,某些 PHP 版本变更中也可能包含此库。在 PHP fileinfo 扩展的源代码中,有libmagic.patch文件,这是 libmagic 库的补丁包文件。
二、预定义常量
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
FILEINFO_NONE(integer)
无特殊处理。
FILEINFO_SYMLINK(integer)
跟随符号链接。
FILEINFO_MIME_TYPE(integer)
返回 mime 类型。自 PHP 5.3.0 可用。
FILEINFO_MIME_ENCODING(integer)
返回文件的 mime 编码。自 PHP 5.3.0 可用。
FILEINFO_MIME(integer)
按照 RFC 2045 定义的格式返回文件 mime 类型和编码。
FILEINFO_COMPRESS(integer)
解压缩压缩文件。由于线程安全问题,自 PHP 5.3.0 禁用。
FILEINFO_DEVICES(integer)
查看设备的块内容或字符。
FILEINFO_CONTINUE(integer)
返回全部匹配的类型。
FILEINFO_PRESERVE_ATIME(integer)
如果可以的话,尽可能保持原始的访问时间。
FILEINFO_RAW(integer)
对于不可打印字符不转换成\ooo八进制表示格式。
三、Fileinfo 函数
finfo_buffer — 返回一个字符串缓冲区的信息
finfo_close — 关闭 fileinfo 资源
finfo_file — 返回一个文件的信息
finfo_open — 创建一个 fileinfo 资源
finfo_set_flags — 设置 libmagic 配置选项
mime_content_type — 检测文件的 MIME 类型(已废弃)