PHP - 直接I/O dio_stat() 函式



PHP 直接I/O dio_stat() 函式用於在成功的情況下提供檔案描述符的狀態資訊。

語法

以下是PHP直接I/O dio_stat() 函式的語法:

array dio_stat (resource $fd)

引數

此函式接受$fd引數,該引數是表示檔案描述符的資源。檔案控制代碼需要是有效的。

返回值

dio_stat() 函式返回關於檔案描述符fd的統計資訊。此函式可以返回一個包含以下鍵的關聯陣列:

  • "device" - 裝置
  • "inode" - inode
  • "mode" - 模式
  • "nlink" - 硬連結數
  • "uid" - 使用者ID
  • "gid" - 組ID
  • "device_type" - 裝置型別(如果是inode裝置)
  • "size" - 總大小(位元組)
  • "blocksize" - 塊大小
  • "blocks" - 已佔用塊數
  • "atime" - 最後訪問時間
  • "mtime" - 最後修改時間
  • "ctime" - 最後更改時間

發生錯誤時,dio_stat() 函式可能返回 NULL。

PHP 版本

dio_stat() 函式首次出現在PHP 4.2.0的核心PHP中,並在PHP 5.1.0中繼續正常工作。

示例 1

首先,我們將向您展示PHP直接I/O dio_stat() 函式的基本示例,以獲取開啟檔案的狀資訊。

<?php
   // Mention file descriptor here
   $fd = dio_open('/PHP/PhpProjects/myfile.txt', O_RDONLY);
   $stat = dio_stat($fd);
   print_r($stat);
   dio_close($fd);
?>

輸出

以上程式碼將產生類似以下的結果:

Array (
    [device] => 16777231
    [inode] => 14530643
    [mode] => 33188
    [nlink] => 1
    [uid] => 501
    [gid] => 20
    [device_type] => 0
    [size] => 27
    [block_size] => 4096
    [blocks] => 8
    [atime] => 1722248116
    [mtime] => 1722248114
    [ctime] => 1722248114
)

示例 2

在下面的PHP程式碼中,我們將嘗試使用dio_stat()函式並獲取檔案的大小。

<?php
   // Mention file descriptor here
   $fd = dio_open('/PHP/PhpProjects/sample.txt', O_RDONLY);
   $stat = dio_stat($fd);
   echo "File size: " . $stat['size'] . " bytes";
   dio_close($fd);
?> 

輸出

執行上述程式後,將生成以下輸出:

File size: 94 bytes

示例 3

現在,使用下面的程式碼來查詢檔案的最後訪問時間,並使用dio_stat()列印它。

<?php
   // Mention file descriptor here
   $fd = dio_open('/PHP/PhpProjects/newfile.txt', O_RDONLY);
   $stat = dio_stat($fd);
   echo "Last accessed: " . date('Y-m-d H:i:s', $stat['atime']);
   dio_close($fd);
?> 

輸出

這將建立以下輸出:

Last accessed: 2024-07-29 05:58:20

示例 4

在下面的示例中,我們使用dio_stat()函式來檢查檔案的許可權。

<?php
   // Mention file descriptor here
   $fd = dio_open('/PHP/PhpProjects/myfile.txt', O_RDONLY);
   $stat = dio_stat($fd);
   echo "File permissions: ".decoct($stat['mode'] & 0777);
   dio_close($fd);
?> 

輸出

執行上述程式時,將產生以下輸出:

File permissions: 644
php_function_reference.htm
廣告