PHP 文件信息函数
文件信息函数模块可以通过在文件中特定位置查找特定的魔术字节序列来尝试猜测文件的内容类型和编码。虽然这不是一个绝对可靠的方法,但启发式算法的效果很好。
在PHP 5.3.0之前的版本中,可能需要magic_open库来构建此扩展。
此扩展可以在PHP 5.3.0及更高版本中默认启用。在此之前,fileinfo是一个PECL扩展,但不再维护。
Windows用户必须在php.ini中包含捆绑的php_fileinfo.dll DLL文件以启用此扩展。
libmagic库可以与PHP捆绑在一起,但包含了与PHP特定的更改。一个名为libmagic.patch的补丁文件针对libmagic进行了维护,可以在PHP文件信息扩展源代码中找到。
预定义常量
这些常量由该扩展定义,并且只有在扩展已编译到PHP中或在运行时动态加载时才可用。
-
FILEINFO_NONE (整数) − 不进行特殊处理。
-
FILEINFO_SYMLINK (整数) − 跟随符号链接。
-
FILEINFO_MIME_TYPE (整数) − 返回mime类型。自PHP 5.3.0起可用。
-
FILEINFO_MIME_ENCODING (整数) − 返回文件的mime编码。自PHP 5.3.0起可用。
-
FILEINFO_MIME (整数) − 返回由RFC 2045定义的mime类型和mime编码。
-
FILEINFO_COMPRESS (整数) − 解压缩压缩文件。由于线程安全问题,自PHP 5.3.0起禁用。
-
FILEINFO_DEVICES (整数) − 查看块或字符特殊设备的内容。
-
FILEINFO_CONTINUE (整数) − 返回所有匹配项,而不仅仅是第一个。
-
FILEINFO_PRESERVE_ATIME (整数) − 如果可能,保持原始访问时间。
-
FILEINFO_RAW (整数) − 不将不可打印字符转换为\ooo八进制表示。
-
FILEINFO_EXTENSION (整数) − 返回与文件中检测到的MIME类型相对应的文件扩展名。对于通常具有多个文件扩展名的类型,例如JPEG图像,返回值为多个扩展名,用正斜杠(/)分隔,例如:”jpeg/jpg/jpe/jfif”。对于在magic.mime数据库中不可用的未知类型,返回值为”???”。自PHP 7.2.0起可用。
序号 | 函数及描述 |
---|---|
1 | finfo_buffer() 此函数可以返回有关字符串缓冲区的信息。 |
2 | finfo_close() 此函数可以关闭文件信息资源。 |
3 | finfo_file() 此函数可以返回有关文件的信息。 |
4 | dio_open() 此函数可以创建新的文件信息资源。 |
5 | finfo_set_flags() 此函数可以设置libmagic配置选项。 |
6 | mime_content_type() 此函数可以检测文件的MIME内容类型(已弃用)。 |
7 | finfo_class() 此函数可以为串行端口设置终端属性和波特率。 |
8 | finfo::_construct() 此函数是finfo_open()的别名。 |