查詢

finfo_open()函式—用法及示例

「 開啟一個檔案或字串的資訊資源 」


函式名:finfo_open()

函式描述:finfo_open() 函式用於開啟一個檔案或字串的資訊資源。

適用版本:該函式在PHP 5 >= 5.3.0, PHP 7 所有版本中可用。

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

引數:

  • options(可選):指定額外的選項,可使用以下常量進行設定:

    • FILEINFO_NONE:預設值,不進行任何特殊處理。
    • FILEINFO_SYMLINK:如果指定的檔案是符號連結,則返回連結的資訊而不是連結指向的檔案的資訊。
    • FILEINFO_MIME_TYPE:返回檔案的 MIME 型別。
    • FILEINFO_MIME_ENCODING:返回檔案的 MIME 編碼。
    • FILEINFO_MIME:返回檔案的 MIME 型別和編碼。
    • FILEINFO_COMPRESS:對於已經壓縮的檔案,返回原始檔案的 MIME 型別和編碼。
    • FILEINFO_DEVICES:在返回結果中包含裝置節點。
    • FILEINFO_CONTINUE:返回所有可能的匹配結果,而不僅僅是第一個。
    • FILEINFO_PRESERVE_ATIME:在呼叫 finfo_open() 之後,保留訪問時間。
  • magic_file(可選):指定一個自定義的魔術檔案路徑,用於檢測檔案型別。如果不指定,則使用系統預設的魔術檔案。

返回值:成功時返回一個資訊資源物件(resource),失敗時返回 FALSE。

示例1:使用預設選項開啟一個檔案並獲取其 MIME 型別。

$finfo = finfo_open();
if ($finfo) {
    $filename = 'example.txt';
    $mimetype = finfo_file($finfo, $filename, FILEINFO_MIME_TYPE);
    echo "檔案 $filename 的 MIME 型別為:$mimetype";
    finfo_close($finfo);
} else {
    echo "無法開啟 finfo 資源";
}

示例2:開啟一個字串並獲取其 MIME 型別。

$finfo = finfo_open();
if ($finfo) {
    $string = "This is a test string.";
    $mimetype = finfo_buffer($finfo, $string, FILEINFO_MIME_TYPE);
    echo "字串的 MIME 型別為:$mimetype";
    finfo_close($finfo);
} else {
    echo "無法開啟 finfo 資源";
}

以上示例中,我們使用 finfo_open() 函式開啟了一個資訊資源物件,然後使用 finfo_file() 函式和 finfo_buffer() 函式分別獲取了檔案和字串的 MIME 型別。最後透過 finfo_close() 函式關閉了資訊資源物件。請根據實際需求選擇適合的選項和引數呼叫 finfo_open() 函式。

補充糾錯
上一個函式: floatval()函式
下一個函式: finfo_close()函式
熱門PHP函式
分享連結