Fileinfo 函数
PHP 手册

finfo_open

finfo::__construct

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

finfo_open -- finfo::__constructCreate a new fileinfo resource

说明

过程化风格

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

面向对象风格 (constructor):

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

This function opens a magic database and returns its resource.

参数

options

One or disjunction of more Fileinfo constants.

magic_file

Name of a magic database file, usually something like /path/to/magic.mime. If not specified, the MAGIC environment variable is used. If the environment variable isn't set, then PHP's bundled magic database will be used.

Passing NULL or an empty string will be equivalent to the default value.

返回值

(Procedural style only) Returns a magic database resource on success 或者在失败时返回 FALSE.

注释

Warning

The expected magic database format changed in PHP 5.3.11 and 5.4.1. Due to this, the internal magic database was upgraded. This mostly effects code where an external magic database is used: reading an older magic file will now fail. Also, some textual representations of the mime types has changed, for instance for PHP would be "PHP script, ASCII text" instead of "PHP script text" returned.

Note:

Generally, using the bundled magic database (by leaving magic_file and the MAGIC environment variables unset) is the best course of action unless you specifically need a custom magic database.

范例

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);

?>

Example #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

参见


Fileinfo 函数
PHP 手册