finfo_open

finfo::__construct

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

finfo_open -- finfo::__construct創(chuàng)建一個 fileinfo 資源

說明

過程化風(fēng)格

finfo_open(int $options = FILEINFO_NONE, string $magic_file = null): resource

面向?qū)ο箫L(fēng)格 (構(gòu)造器):

public finfo::__construct(int $options = FILEINFO_NONE, string $magic_file = null)

本函數(shù)打開一個魔數(shù)數(shù)據(jù)庫并且返回它的資源。

參數(shù)

options

一個 Fileinfo 常量 或多個 Fileinfo 常量 進行邏輯或運算。

magic_file

魔數(shù)數(shù)據(jù)庫文件名稱, 通常是 /path/to/magic.mime。 如果未指定,則使用 MAGIC 環(huán)境變量。 如果未指定此環(huán)境變量, 則使用 PHP 綁定的魔數(shù)數(shù)據(jù)庫。

傳入 null 或者空字符串,等同于使用默認(rèn)值。

返回值

(僅適用于過程化風(fēng)格) 如果成功則返回一個表示魔數(shù)數(shù)據(jù)庫的資源, 或者在失敗時返回 false。

注釋

警告

在 PHP 5.3.11 和 5.4.1 中預(yù)期的魔數(shù)數(shù)據(jù)庫格式發(fā)生了變動, 所以,內(nèi)置的魔數(shù)數(shù)據(jù)庫被更新。 如果使用了外部魔數(shù)數(shù)據(jù)庫, 可能會由于格式不同導(dǎo)致讀取失敗。 同時,一些 mime 類型的文字表示也發(fā)生了變化, 例如,PHP 文件的 mime 類型由 “"PHP script text” 變?yōu)椤癙HP script, ASCII text”。

注意:

通常來說,使用 PHP 綁定的魔數(shù)數(shù)據(jù)庫(設(shè)置 magic_file 參數(shù)為空, 不設(shè)置 MAGIC 環(huán)境變量)是最好的選擇, 除非你確實需要一個自定義的魔數(shù)數(shù)據(jù)庫。

范例

示例 #1 面向?qū)ο箫L(fēng)格

<?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 過程化風(fēng)格

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

/* 關(guān)閉資源 */
finfo_close($finfo);
?>

以上例程會輸出:

text/plain; charset=us-ascii

參見