函数名:finfo::set_flags()
适用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8
用法:finfo::set_flags(int $options): bool
说明:finfo::set_flags() 函数用于设置文件信息资源对象的选项标志。选项标志用于调整文件信息的返回值。
参数:
- $options: 要设置的选项标志,可以通过按位或运算符 "|" 来组合多个选项。可用的选项标志有以下几种:
- FILEINFO_NONE:不返回任何额外的信息。
- FILEINFO_SYMLINK:如果文件是符号链接,则返回符号链接指向的文件的信息。
- FILEINFO_MIME_TYPE:返回文件的 MIME 类型。
- FILEINFO_MIME_ENCODING:返回文件的 MIME 编码。
- FILEINFO_MIME:返回文件的 MIME 类型和编码。
- FILEINFO_COMPRESS:返回压缩文件的解压缩后的 MIME 类型。
- FILEINFO_DEVICES:返回字符设备和块设备的 MIME 类型。
- FILEINFO_CONTINUE:返回所有可能的匹配结果,而不仅仅是第一个。
返回值:设置成功返回 true,否则返回 false。
示例:
$finfo = new finfo(FILEINFO_MIME_TYPE);
$filename = 'path/to/file.txt';
if ($finfo->set_flags(FILEINFO_SYMLINK | FILEINFO_MIME_TYPE)) {
$mime_type = $finfo->file($filename);
echo "File MIME type: " . $mime_type;
} else {
echo "Failed to set flags.";
}
以上示例中,我们创建了一个文件信息资源对象 $finfo
,并设置了选项标志为 FILEINFO_SYMLINK | FILEINFO_MIME_TYPE
。然后使用 file()
方法获取文件 $filename
的 MIME 类型。如果设置选项标志成功,则输出文件的 MIME 类型;否则输出失败消息。