finfo_open
finfo::__construct
(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)
finfo_open -- finfo::__construct — 建立一個 fileinfo 資源
說明
過程化風格
$options
= FILEINFO_NONE, string $magic_file
= null
): resource物件導向風格 (構造器):
本函式打開一個魔數數據庫並且返回它的資源。
參數
-
options
-
一個 Fileinfo 常量 或多個 Fileinfo 常量 進行邏輯或運算。
-
magic_file
-
魔數數據庫檔名稱, 通常是 /path/to/magic.mime。 如果未指定,則使用
MAGIC
環境變數。 如果未指定此環境變數, 則使用 PHP 繫結的魔數數據庫。傳入
null
或者空字串,等同於使用預設值。
返回值
(僅適用於過程化風格)
如果成功則返回一個表示魔數數據庫的資源,
或者在失敗時返回 false
。
註釋
在 PHP 5.3.11 和 5.4.1 中預期的魔數數據庫格式發生了變動, 所以,內建的魔數數據庫被更新。 如果使用了外部魔數數據庫, 可能會由於格式不同導致讀取失敗。 同時,一些 mime 型別的文字表示也發生了變化, 例如,PHP 檔案的 mime 型別由 「"PHP script text」 變為「PHP script, ASCII text」。
注意:
通常來說,使用 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