PHP 檔案系統 lstat() 函式



PHP 檔案系統lstat()函式用於返回有關檔案或符號連結的資訊。它可以收集由檔名命名的檔案或符號連結的統計資訊,並且與stat()函式相同,除非檔名引數是符號連結,則返回符號連結的狀態,而不是符號連結指向的檔案的狀態。

如果出現錯誤,則會生成 E_WARNING。

語法

以下是 PHP 檔案系統lstat()函式的語法:

array lstat ( string $filename )

引數

以下是lstat()函式唯一必需的引數:

序號 引數 & 說明
1

$filename(必需)

它是檔案或符號連結的路徑。

返回值

該函式返回一個包含有關檔案或連結資訊的陣列,或者在失敗時返回 false。

陣列鍵

以下是 lstat() 函式返回的陣列鍵:

  • dev: 裝置號
  • ino: inode 號
  • mode: 檔案模式,表示檔案型別及其許可權
  • nlink: 連結數
  • uid: 所有者的使用者 ID
  • gid: 所有者的組 ID
  • rdev: 裝置型別
  • size: 以位元組為單位的大小
  • atime: 最後訪問時間(Unix 時間戳)
  • mtime: 最後修改時間(Unix 時間戳)
  • ctime: 最後 inode 更改時間(Unix 時間戳)
  • blksize: 檔案系統 I/O 的塊大小
  • blocks: 已分配的 512 位元組塊數

PHP 版本

lstat()函式最初作為核心 PHP 4 的一部分引入,並與 PHP 5、PHP 7 和 PHP 8 相容。

示例

這是一個基本示例,展示如何使用 PHP 檔案系統lstat()函式獲取有關提供檔案的的資訊。

<?php
   print_r(lstat("/PhpProject/sample.txt"));
?>

輸出

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

Array
(
    [0] => 16777230
    [1] => 12399113
    [2] => 33188
    [3] => 1
    [4] => 501
    [5] => 20
    [6] => 0
    [7] => 75
    [8] => 1718709841
    [9] => 1718704399
    [10] => 1718709841
    [11] => 4096
    [12] => 8
    [dev] => 16777230
    [ino] => 12399113
    [mode] => 33188
    [nlink] => 1
    [uid] => 501
    [gid] => 20
    [rdev] => 0
    [size] => 75
    [atime] => 1718709841
    [mtime] => 1718704399
    [ctime] => 1718709841
    [blksize] => 4096
    [blocks] => 8
)

示例

這是另一個示例,展示了lstat()函式的用法,使用以下程式碼,您可以獲取給定檔案的資訊,並透過向用戶列印錯誤訊息來處理錯誤。

<?php
   //Path to the file
   $filename = '/PhpProject/sample.txt';

   $info = lstat($filename);

   if ($info !== false) {
      print_r($info);
   } else {
      echo "Unable to get file information.";
   }
?> 

輸出

這將產生以下結果:

Array
(
    [0] => 16777230
    [1] => 12347588
    [2] => 41453
    [3] => 1
    [4] => 501
    [5] => 20
    [6] => 0
    [7] => 70
    [8] => 1718388194
    [9] => 1718388194
    [10] => 1718711658
    [11] => 4096
    [12] => 0
    [dev] => 16777230
    [ino] => 12347588
    [mode] => 41453
    [nlink] => 1
    [uid] => 501
    [gid] => 20
    [rdev] => 0
    [size] => 70
    [atime] => 1718388194
    [mtime] => 1718388194
    [ctime] => 1718711658
    [blksize] => 4096
    [blocks] => 0
)

示例

這是一個使用 PHP 的lstat()函式獲取有關提供的目錄資訊的另一個示例。

<?php
   //Path to the directory
   $directory = '/PhpProject';

   $info = lstat($directory);

   if ($info !== false) {
      echo "Directory Information:\n";
      print_r($info);
   } else {
      echo "Unable to get directory information.";
   }
?> 

輸出

這將生成以下輸出:

Directory Information:
Array
(
    [0] => 16777230
    [1] => 11902275
    [2] => 16877
    [3] => 25
    [4] => 501
    [5] => 20
    [6] => 0
    [7] => 800
    [8] => 1718879304
    [9] => 1718879304
    [10] => 1718879304
    [11] => 4096
    [12] => 0
    [dev] => 16777230
    [ino] => 11902275
    [mode] => 16877
    [nlink] => 25
    [uid] => 501
    [gid] => 20
    [rdev] => 0
    [size] => 800
    [atime] => 1718879304
    [mtime] => 1718879304
    [ctime] => 1718879304
    [blksize] => 4096
    [blocks] => 0
)

示例

這是一個使用 PHP 的lstat()函式獲取有關提供的符號連結資訊的另一個示例。

<?php
   //Path to the symbolic link
   $symlink = '/PhpProjects/filetext.txt';

   $info = lstat($symlink);
   
   if ($info !== false) {
       echo "Symbolic Link Information:\n";
       print_r($info);
   } else {
       echo "Unable to get symbolic link information.";
   }
?> 

輸出

這將產生以下結果:

Symbolic Link Information:
Array
(
    [0] => 16777230
    [1] => 12399113
    [2] => 33188
    [3] => 2
    [4] => 501
    [5] => 20
    [6] => 0
    [7] => 75
    [8] => 1718949187
    [9] => 1718704399
    [10] => 1718949187
    [11] => 4096
    [12] => 8
    [dev] => 16777230
    [ino] => 12399113
    [mode] => 33188
    [nlink] => 2
    [uid] => 501
    [gid] => 20
    [rdev] => 0
    [size] => 75
    [atime] => 1718949187
    [mtime] => 1718704399
    [ctime] => 1718949187
    [blksize] => 4096
    [blocks] => 8
)

總結

lstat()方法是一個內建函式,用於獲取有關指定檔案、目錄或符號連結的資訊。成功時返回資訊陣列,失敗時返回 false。

php_function_reference.htm
廣告