PHP 檔案系統 disk_free_space() 函式



PHP 檔案系統 disk_free_space() 函式用於確定磁碟或磁碟分割槽上的可用空間量。它為程式設計師提供了一種簡單的方法來跟蹤 PHP 程式正在使用的磁碟空間量。

給定包含目錄的字串,disk_free_space() 函式可以返回對應檔案系統或磁碟分割槽上可用的位元組數。

語法

以下是 PHP 檔案系統 disk_free_space() 函式的語法 -

float disk_free_space ( string $directory )

引數

以下是 disk_free_space() 函式所需的引數 -

序號 引數與描述
1

directory(必需)

此路徑指向您要檢視的目錄或磁碟分割槽。

返回值

該函式返回給定目錄或磁碟分割槽中可用的位元組數。如果目錄無效,則返回 FALSE。

PHP 版本

disk_free_space() 函式作為 PHP 4.1.0 的核心部分提供,並且與 PHP 5、PHP 7、PHP 8 相容良好。

示例

由於 PHP 檔案系統 disk_free_space() 函式返回位元組數或 FALSE,因此您可以使用條件表示式(如 if 語句和三元運算子)來檢視此結果。請檢視以下程式碼示例 -

<?php
   $directory = "/"; // Root directory
   $freeSpace = disk_free_space($directory);

   if ($freeSpace !== FALSE) {
      echo "Free space in bytes: " . $freeSpace;
   } else {
      echo "Could not determine free space.";
   }
?>

輸出

這將產生以下結果 -

Free space in bytes: 129435885568

示例

為了展示 disk_free_space() 函式的基本用法,我們只需傳遞磁碟路徑或磁碟名稱。它將以位元組為單位返回可用的磁碟空間資訊。

<?php
   echo disk_free_space("C:");
   echo "\n";
   echo disk_free_space("E:");
?gt;

輸出

這將生成以下結果 -

224150941696
209571344384

示例

現在,我們將使用特定的目錄路徑,藉助 disk_free_space() 獲取該特定路徑中的可用空間。

<?php
   // Specific directory
   $directory = "/Applications/XAMPP/xamppfiles/htdocs/mac"; 
   $freeSpace = disk_free_space($directory);
      
   if ($freeSpace !== FALSE) {
      echo "Free space on $directory: " . $freeSpace;
   } else {
      echo "Could not determine free space on $directory.";
   }
?> 

輸出

這將產生以下輸出 -

Free space on /Applications/XAMPP/xamppfiles/htdocs/mac: 116797157376

示例

使用以下程式碼,我們將檢查根目錄中可用的磁碟空間,並檢視在這種情況下如何使用 disk_free_space() 函式。獲取可用空間後,我們將嘗試格式化以位元組為單位的值,以便使用 formatBytes() 函式將其轉換為 KB、MB 或 GB,以便於閱讀。

<?php
   // Root directory
   $directory = "/"; 
   $freeSpace = disk_free_space($directory);

   if ($freeSpace !== FALSE) {
      echo "Free space on our root directory: " . formatBytes($freeSpace);
   } else {
      echo "Could not determine the free space.";
   }

   function formatBytes($bytes, $precision = 2) {
      $units = ['B', 'KB', 'MB', 'GB', 'TB'];
      $pow = floor(log(max($bytes, 1)) / log(1024));
      $pow = min($pow, count($units) - 1);

      $bytes /= (1 << (10 * $pow));

      return round($bytes, $precision) . ' ' . $units[$pow];
   }
?> 

輸出

這將建立以下結果 -

Free space on root directory: 108.78 GB

示例

現在,我們將嘗試解決錯誤,以使我們的應用程式更好地執行。通常,處理因某些不需要的值導致的錯誤是比較好的。

<?php
   // Invalid directory
   $directory = "Applications/XAMPP/xamppfiles/htdocs/invalidDirectory"; 

   // Use disk_free_space to find available free space
   $freeSpace = disk_free_space($directory);
   
   // Handle error here
   if ($freeSpace !== FALSE) {
      echo "Free space on $directory: " . $freeSpace;
   } else {
      echo "Could not determine free space on the directory. I think directory is not available";
   }
?> 

輸出

這將產生以下結果 -

Could not determine free space on the directory. I think directory is not available

注意

  • 驗證您輸入的目錄路徑是否有效且可訪問。不正確的路徑將導致返回 FALSE 值。
  • 該函式以位元組為單位返回可用空間量。為了方便檢視,您可以將其轉換為更易讀的單位,例如 KB、MB、GB 等。
  • 由於它與 Windows、Linux 和 macOS 相容,因此它可以在各種場景中使用。

總結

程式設計師可以使用 PHP 的 disk_free_space() 函式在他們的程式中查詢磁碟或目錄上的可用空間量。它易於使用,併為管理和監控磁碟空間提供重要資訊。

php_function_reference.htm
廣告