PHP - FileInfo open() 函式



PHP FileInfo 的 finfo_open() 函式用於建立一個新的 fileinfo 資源。此函式可以開啟一個 magic 資料庫並返回其資源,並在成功時返回一個 magic 資料庫資源,或者在失敗時返回 false。

語法

以下是 PHP FileInfo finfo_open() 函式的兩種語法型別:

1. 過程式風格:

以下是過程式風格的語法:

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

2. 面向物件風格(建構函式):

以下是面向物件風格的語法:

finfo::__construct ([ int $options [, string $magic_file ]] )

引數

以下是兩種語法的引數:

  • $options - 它是一個整數,表示選項。其常見值為 FILEINFO_NONE、FILEINFO_MIME_TYPE 和 FILEINFO_MIME_ENCODING。

  • $magic_file - 它是一個字串,表示要使用的 magic 資料庫檔案,其預設值為 null。

返回值

finfo_open() 函式在成功時返回一個 finfo 例項,在失敗時返回 FALSE。

PHP 版本

finfo_open() 函式首次引入到核心 PHP 5.3.0 中,它在 PHP 7 和 PHP 8 中繼續輕鬆執行。

示例 1

首先,我們將向您展示 PHP FileInfo finfo_open() 函式的基本示例,以建立新的 fileinfo 資源。

<?php
   // Create a new fileinfo resource
   $finfo = finfo_open(FILEINFO_NONE);
   if ($finfo) {
      // Get information about a file
      $info = finfo_file($finfo, '/PHP/PhpProjects/myfile.txt');
      echo $info;
   
      // Close the fileinfo resource
      finfo_close($finfo);
   } else {
      echo "Failed to open fileinfo.";
   }
?>

輸出

以下是以下程式碼的結果:

ASCII text

示例 2

在下面的 PHP 程式碼中,我們將嘗試使用 finfo_open() 函式並使用 MIME 型別選項建立新的 fileinfo 資源。

<?php
   // Create a new fileinfo resource 
   $finfo = finfo_open(FILEINFO_MIME_TYPE);
   if ($finfo) {
       // Get MIME type of a file
       $mime_type = finfo_file($finfo, '/PHP/PhpProjects/sample.txt');
       echo "MIME type: " . $mime_type;
   
       // Close the fileinfo resource
       finfo_close($finfo);
   } else {
       echo "Failed to open fileinfo.";
   }
?>

輸出

這將生成以下輸出:

MIME type: text/plain

示例 3

現在,以下程式碼使用 finfo_open() 函式建立新的 fileinfo 資源,並使用 MIME 編碼選項。

<?php
   // Create a new fileinfo resource 
   $finfo = finfo_open(FILEINFO_MIME_ENCODING);
   if ($finfo) {
       // Get MIME encoding of a file
       $mime_encoding = finfo_file($finfo, '/PHP/PhpProjects/newfile.php');
       echo "MIME encoding: " . $mime_encoding;
   
       // Close the fileinfo resource
       finfo_close($finfo);
   } else {
       echo "Failed to open fileinfo.";
   }
?> 

輸出

這將建立以下輸出:

MIME encoding: us-ascii

示例 4

在以下示例中,我們使用 finfo_open() 函式生成新的 fileinfo 資源,並使用自定義 magic 檔案。

<?php
   // Path to a custom magic file
   $magic_file = '/path/to/magic/file';
   
   // Create a new fileinfo resource with a custom magic file
   $finfo = finfo_open(FILEINFO_NONE, $magic_file);
   if ($finfo) {
       // Get information about a file
       $info = finfo_file($finfo, '/PHP/PhpProjects/myfile.txt');
       echo $info;
   
       // Close the fileinfo resource
       finfo_close($finfo);
   } else {
       echo "Failed to open fileinfo.";
   }
?> 

輸出

以下是上述程式碼的輸出:

假設 myfile.txt 包含純文字

Hiii, this is a sample text file.

因此,輸出將如下所示

ASCII text

總結

finfo_open() 函式是 PHP 中的內建方法,用於建立新的 fileinfo 資源。我們已經看到了四個不同的示例,以瞭解此函式的用法,以獲取有關檔案不同型別的資訊。

php_function_reference.htm
廣告