Php/docs/function.finfo-open

来自菜鸟教程
跳转至:导航、​搜索

finfo_open

finfo::__construct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_open -- finfo::__construct创建一个 fileinfo 资源


说明

过程化风格

finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file = null ]] ) : resource

面向对象风格 (构造器):

public finfo::__construct ([ int $options = FILEINFO_NONE [, string $magic_file = null ]] )

本函数打开一个魔数数据库并且返回它的资源。


参数

options

一个 Fileinfo 常量 或多个 Fileinfo 常量 进行逻辑或运算。

magic_file

魔数数据库文件名称, 通常是 /path/to/magic.mime。 如果未指定,则使用 MAGIC 环境变量。 如果未指定此环境变量, 则使用 PHP 绑定的魔数数据库。

传入 null 或者空字符串,等同于使用默认值。


返回值

(仅适用于过程化风格) 如果成功则返回一个表示魔数数据库的资源, 或者在失败时返回 false


注释

Warning 在 PHP 5.3.11 和 5.4.1 中预期的魔数数据库格式发生了变动, 所以,内置的魔数数据库被更新。 如果使用了外部魔数数据库, 可能会由于格式不同导致读取失败。 同时,一些 mime 类型的文字表示也发生了变化, 例如,PHP 文件的 mime 类型由 “"PHP script text” 变为“PHP script, ASCII text”。


Note:

通常来说,使用 PHP 绑定的魔数数据库(设置 magic_file 参数为空, 不设置 MAGIC 环境变量)是最好的选择, 除非你确实需要一个自定义的魔数数据库。

范例

Example #1 面向对象风格

<?php$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // 返回 mime 类型/* get mime-type for a specific file */$filename = "/usr/local/something.txt";echo $finfo->file($filename);?>

Example #2 过程化风格

<?php$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // 返回 mime 类型if (!$finfo) {    echo "Opening fileinfo database failed";    exit();}/* 获取指定文件的 mime 类型 */$filename = "/usr/local/something.txt";echo finfo_file($finfo, $filename);/* 关闭资源 */finfo_close($finfo);?>

以上例程会输出:

text/plain; charset=us-ascii

参见