PHP - FileInfo set_flags() 函式



PHP FileInfo finfo_set_flags() 函式用於設定 libmagic 配置選項。此函式可以設定各種 Fileinfo 選項,也可以直接在 finfo_open() 或其他 Fileinfo 函式中設定選項。成功時返回 true,失敗時返回 false。

語法

以下是 PHP FileInfo finfo_set_flags() 函式的兩種語法:

1. 過程式風格:

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

bool finfo_set_flags ( resource $finfo , int $options )

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

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

finfo::bool set_flags ( int $options )

引數

以下是 finfo_set_flags() 函式的引數:

  • $finfo - 這是使用 finfo_open() 建立的 finfo 資源。

  • $options - 這是一個整數,表示要設定的選項。它主要控制 finfo 資源的行為。

返回值

finfo_set_flags() 函式成功時返回 TRUE,失敗時返回 FALSE。

PHP 版本

finfo_set_flags() 函式首次在 PHP 5.3.0 的核心 PHP 中引入,在 PHP 7 和 PHP 8 中繼續正常工作。

示例 1

這是一個基本的示例,向您展示如何使用 PHP FileInfo finfo_set_flags() 函式設定標誌。

<?php
   // Open a new fileinfo resource
   $finfo = finfo_open(FILEINFO_MIME_TYPE);
   
   // Set flags
   if (finfo_set_flags($finfo, FILEINFO_MIME)) {
       echo "Flags set successfully.";
   } else {
       echo "Failed to set flags.";
   }
   
   // Close the fileinfo resource
   finfo_close($finfo);
?>

輸出

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

Flags set successfully.

示例 2

在下面的 PHP 程式碼中,我們將使用 finfo_set_flags() 函式並設定 FILEINFO_NONE 標誌,該標誌用於停用所有特殊處理。

<?php
   // Open a fileinfo resource
   $finfo = finfo_open(FILEINFO_MIME_TYPE);

   if (finfo_set_flags($finfo, FILEINFO_NONE)) {
       echo "Flags set to FILEINFO_NONE.";
   } else {
       echo "Failed to set flags.";
   }
   
   finfo_close($finfo);
?> 

輸出

這將生成以下輸出:

Flags set to FILEINFO_NONE.

示例 3

現在,我們將使用按位或運算子設定多個標誌,並將標誌作為引數傳遞給 finfo_set_flags() 函式。

<?php
   // Open a fileinfo resource
   $finfo = finfo_open(FILEINFO_MIME_TYPE);

   $flags = FILEINFO_MIME | FILEINFO_SYMLINK;
   
   if (finfo_set_flags($finfo, $flags)) {
       echo "Flags set to MIME and SYMLINK.";
   } else {
       echo "Failed to set flags.";
   }
   
   finfo_close($finfo);
?> 

輸出

這將建立以下輸出:

Flags set to MIME and SYMLINK.

示例 4

在下面的示例中,我們使用 finfo_set_flags() 方法並在處理不需要的錯誤時管理錯誤。

<?php
   // Open a fileinfo resource
   $finfo = finfo_open(FILEINFO_MIME_TYPE);

   if (!$finfo) {
       die("Failed to open fileinfo resource.");
   }
   
   if (finfo_set_flags($finfo, FILEINFO_MIME)) {
       echo "Flags set successfully.";
   } else {
       echo "Failed to set flags.";
   }
   
   finfo_close($finfo);
?> 

輸出

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

Flags set successfully.

總結

finfo_set_flags() 函式是 PHP 中的內建方法,用於為 finfo 資源設定選項。我們已經看到了四個不同的示例,以瞭解此函式的用法以及如何在不同場景中工作。

php_function_reference.htm
廣告