finfo_open
finfo_open
finfo::__construct
(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)
finfo_open - finfo :: __ construct - 创建一个新的fileinfo资源
Description
程序风格
resource finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )
Object oriented style (constructor):
public finfo::__construct ([ int $options
= FILEINFO_NONE , string $magic_file
= NULL
] )
这个函数打开一个神奇的数据库并返回它的资源。
参数
options
一个或多个Fileinfo常量的分离。
magic_file
神奇的数据库文件的名称,通常类似于/path/to/magic.mime。如果未指定,则使用MAGIC
环境变量。如果未设置环境变量,则将使用PHP的捆绑魔术数据库。
传递NULL
或空字符串将相当于默认值。
返回值
(仅限程序样式)成功或FALSE
失败时返回魔术数据库资源。
注意
警告
预期的魔术数据库格式在PHP 5.3.11和5.4.1中更改。由于这个原因,内部神奇的数据库被升级了。这主要影响使用外部魔术数据库的代码:读取较旧的魔术文件现在将失败。另外,mime类型的一些文本表示已经改变,例如对于PHP将是“PHP脚本,ASCII文本”而不是“PHP脚本文本”返回。
注意
:通常,使用捆绑的魔法数据库(通过离开magic_file
和MAGIC
环境变量未设置)是最佳的操作过程,除非您特别需要自定义魔术数据库。
例子
Example#1面向对象的风格
<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic" // return mime type ala mimetype extension
/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename
?>
示例#2程序风格
<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic" // return mime type ala mimetype extension
if (!$finfo) {
echo "Opening fileinfo database failed";
exit(
}
/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename
/* close connection */
finfo_close($finfo
?>
上面的例子将输出:
text/plain; charset=us-ascii