PHP中的stat()函數是一個內置函數,用於返回文件信息。 stat(0)函數返回文件的統計信息,該文件是具有以下元素的數組:
- [0]或[dev]-設備號
- [1]或[ino]-索引節點編號
- [2]或[mode]-索引節點保護模式
- [3]或[nlink]-鏈接數
- [4]或[uid]-所有者的用戶ID
- [5]或[gid]-所有者的組ID
- [6]或[rdev]-Inode設備類型
- [7]或[size]-字節大小
- [8]或[atime]-上次訪問(如Unix時間戳記)
- [9]或[mtime]-最後修改時間(如Unix時間戳記)
- [10]或[ctime]-最後的inode更改(如Unix時間戳記)
- [11]或[blksize]-文件係統IO的塊大小
- [12]或[blocks]-分配的塊數
stat()函數接受文件名作為參數,並在成功時返回包含上述元素的數組,在失敗時返回具有False的數組。
如果filename是符號鏈接,則統計信息來自文件本身,而不是符號鏈接。
用法:
stat(filename)
使用的參數:
PHP中的stat()函數接受一個參數。
- filename:它指定要了解其統計信息的文件的文件名。
返回值:
如果成功,則返回帶有上述元素的數組;如果失敗,則返回False。
錯誤與異常
- stat()函數的結果因服務器而異。
- stat()函數的結果被緩存,因此應使用clearstatcache()函數清除緩存。
- stat()函數在失敗時生成E_WARNING。
- 在Windows平台上,所有者的組標識,所有者的用戶標識和索引節點號始終為0。
- 對於大於2GB的文件,由於PHP的整數類型是帶符號的並且許多平台使用32位整數,因此某些文件係統函數可能會返回意外結果。
例子:
Input : $test = stat('gfg.txt'); echo 'Access time: ' .$test['atime']; echo '
Modification time: ' .$test['mtime']; echo '
Device number: ' .$test['dev']; Output :Access time: 1141666750 Modification time: 1135897503 Device number: 0 Input : $test = stat('gfg.txt'); echo 'Access time: ' .$test[8]; echo '
Modification time: ' .$test[9]; echo '
Device number: ' .$test[0]; Output : Access time: 1141666750 Modification time: 1135897503 Device number: 0 Input : $test = stat('gfg.txt'); $access_time = $stat['atime'] + 18000; if (touch($test, time(), $access_time)) { echo 'Access time changed to 5 hours in the past!'; } else { echo 'Access time could not be changed.'; } Output : Access time changed to 5 hours in the past!
以下示例程序旨在說明stat()函數。
假設有一個名為“gfg.txt”的文件
程序1:
<?php
$test = stat('gfg.txt');
//using stat() along with name index to display access time
echo 'Access time: ' .$test['atime'];
//using stat() along with name index to display modification time
echo '<br />Modification time: ' .$test['mtime'];
//using stat() along with name index to display device number
echo '<br />Device number: ' .$test['dev'];
?>
輸出:
Access time: 1141666750 Modification time: 1135897503 Device number: 0
程序2:
<?php
$test = stat('gfg.txt');
//using stat() along with number index to display access time
echo 'Access time: ' .$test[8];
//using stat() along with number index to display modification time
echo '<br />Modification time: ' .$test[9];
//using stat() along with number index to display device number
echo '<br />Device number: ' .$test[0];
?>
輸出:
Access time: 1141666750 Modification time: 1135897503 Device number: 0
程序3:
<?php
$test = stat('gfg.txt');
//changing access time to 5 hours in the past
$access_time = $stat['atime'] + 18000;
//using touch() function to change the access time
if (touch($test, time(), $access_time))
{
echo 'Access time changed to 5 hours in the past!';
}
else
{
echo 'Access time could not be changed.';
}
?>
輸出:
Access time changed to 5 hours in the past!
參考:
http://php.net/manual/en/function.stat.php
相關用法
- p5.js second()用法及代碼示例
- PHP exp()用法及代碼示例
- CSS hsl()用法及代碼示例
- p5.js log()用法及代碼示例
- p5.js sin()用法及代碼示例
- PHP pi( )用法及代碼示例
- PHP Ds\Map map()用法及代碼示例
- PHP Ds\Map last()用法及代碼示例
- d3.js d3.map.has()用法及代碼示例
- p5.js cos()用法及代碼示例
- PHP each()用法及代碼示例
- p5.js arc()用法及代碼示例
注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 PHP | stat() function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。