finfo_buffer

finfo::buffer

返回一个字符串缓冲区的信息

说明

过程化风格

string finfo_buffer ( resource $finfo , string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

面向对象风格

public string finfo::buffer ( string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

本函数用来获取字符串中二进制数据的信息。

参数

finfo
finfo_open 函数返回的 Fileinfo 资源。

string
要检查的文件内容。

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

context

返回值

返回 string 参数所指定内容的类型描述。 发生错误时返回 FALSE

范例

示例 #1 finfo_buffer 函数例程

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

以上例程的输出类似于:

application/x-sh; charset=us-ascii

参见

  • finfo_file

finfo_close

关闭 fileinfo 资源

说明

bool finfo_close ( resource $finfo )

关闭 finfo_open 函数所返回的 fileinfo 资源。

参数

finfo
finfo_open 函数所返回的 fileinfo 资源。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

finfo_file

finfo::file

返回一个文件的信息

说明

过程化风格

string finfo_file ( resource $finfo , string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

面向对象风格

public string finfo::file ( string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

本函数用来获取一个文件的信息。

参数

finfo
finfo_open 函数所返回的 fileinfo 资源。

file_name
要检查的文件名。

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

context
关于 contexts 的更多描述,请参考 Stream 函数

返回值

返回 file_name 参数指定的文件信息。 发生错误时返回 FALSE

范例

示例 #1 finfo_file 例程

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // 返回 mime 类型
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

以上例程的输出类似于:

text/html
image/gif
application/vnd.ms-excel

参见

  • finfo_buffer

finfo_open

finfo::__construct

创建一个 fileinfo 资源

说明

过程化风格

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

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

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 环境变量)是最好的选择, 除非你确实需要一个自定义的魔数数据库。

范例

示例 #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);

?>

示例 #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

参见

  • finfo_close

finfo_set_flags

finfo::set_flags

设置 libmagic 配置选项

说明

过程化风格

bool finfo_set_flags ( resource $finfo , int $options )

面向对象风格

public bool finfo::set_flags ( int $options )

此函数用来设置 Fileinfo 选项。 这些选项也可以在调用 finfo_open 或者其他 Fileinfo 函数时直接指定。

参数

finfo
finfo_open 返回的资源。

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

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

mime_content_type

检测文件的 MIME 类型

说明

string mime_content_type ( string $filename )

返回通过使用 magic.mime 检测到的文件 MIME 类型。

参数

filename
要检测的文件名。

返回值

返回文件的 MIME 内容类型,例如 text/plainapplication/octet-stream。 或者在失败时返回 FALSE

错误/异常

失败时抛出**E_WARNING**警告。

范例

示例 #1 mime_content_type 示例

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

以上例程会输出:

image/gif
text/plain

参见

  • finfo_file
  • finfo_buffer

目录