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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。