在线文档教程
PHP
文件系统 | File System

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_fileMAGIC环境变量未设置)是最佳的操作过程,除非您特别需要自定义魔术数据库。

例子

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