首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

finfo_open

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

finfo_open - finfo :: __ construct - 创建一个新的fileinfo资源

Description

程序风格

代码语言:javascript
复制
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面向对象的风格

代码语言:javascript
复制
<?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程序风格

代码语言:javascript
复制
<?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);
?>

上面的例子将输出:

代码语言:javascript
复制
text/plain; charset=us-ascii

扫码关注腾讯云开发者

领取腾讯云代金券