English | 简体中文 | 繁體中文
查询

finfo_open()函数—用法及示例

「 打开一个文件或字符串的信息资源 」


函数名:finfo_open()

函数描述:finfo_open() 函数用于打开一个文件或字符串的信息资源。

适用版本:该函数在PHP 5 >= 5.3.0, PHP 7 所有版本中可用。

语法:resource finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

参数:

  • options(可选):指定额外的选项,可使用以下常量进行设置:

    • FILEINFO_NONE:默认值,不进行任何特殊处理。
    • FILEINFO_SYMLINK:如果指定的文件是符号链接,则返回链接的信息而不是链接指向的文件的信息。
    • FILEINFO_MIME_TYPE:返回文件的 MIME 类型。
    • FILEINFO_MIME_ENCODING:返回文件的 MIME 编码。
    • FILEINFO_MIME:返回文件的 MIME 类型和编码。
    • FILEINFO_COMPRESS:对于已经压缩的文件,返回原始文件的 MIME 类型和编码。
    • FILEINFO_DEVICES:在返回结果中包含设备节点。
    • FILEINFO_CONTINUE:返回所有可能的匹配结果,而不仅仅是第一个。
    • FILEINFO_PRESERVE_ATIME:在调用 finfo_open() 之后,保留访问时间。
  • magic_file(可选):指定一个自定义的魔术文件路径,用于检测文件类型。如果不指定,则使用系统默认的魔术文件。

返回值:成功时返回一个信息资源对象(resource),失败时返回 FALSE。

示例1:使用默认选项打开一个文件并获取其 MIME 类型。

$finfo = finfo_open();
if ($finfo) {
    $filename = 'example.txt';
    $mimetype = finfo_file($finfo, $filename, FILEINFO_MIME_TYPE);
    echo "文件 $filename 的 MIME 类型为:$mimetype";
    finfo_close($finfo);
} else {
    echo "无法打开 finfo 资源";
}

示例2:打开一个字符串并获取其 MIME 类型。

$finfo = finfo_open();
if ($finfo) {
    $string = "This is a test string.";
    $mimetype = finfo_buffer($finfo, $string, FILEINFO_MIME_TYPE);
    echo "字符串的 MIME 类型为:$mimetype";
    finfo_close($finfo);
} else {
    echo "无法打开 finfo 资源";
}

以上示例中,我们使用 finfo_open() 函数打开了一个信息资源对象,然后使用 finfo_file() 函数和 finfo_buffer() 函数分别获取了文件和字符串的 MIME 类型。最后通过 finfo_close() 函数关闭了信息资源对象。请根据实际需求选择适合的选项和参数调用 finfo_open() 函数。

补充纠错
上一个函数: floatval()函数
下一个函数: finfo_close()函数
热门PHP函数
分享链接