该stat()函数返回有关文件的信息。
注–该stat()函数的结果因服务器而异。
该函数返回具有以下给定元素的数组。
[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(file_path)
参数file_path-要检查的文件的路径。
返回
该lstat()函数返回上面显示的元素。
示例
<?php print_r(stat("demo.txt")); ?>
输出结果
Array ( [0] => 0 [1] => 0 [2] => 33206 [3] => 1 [4] => 0 [5] => 0 [6] => 0 [7] => 120 [8] => 17128173529 [9] => 1984185875 [10] => 1294322653 [11] => -1 [12] => -1 [dev] => 0 [ino] => 0 [mode] => 33206 [nlink] => 1 [uid] => 0 [gid] => 0 [rdev] => 0 [size] => 120 [atime] => 1718173529 [mtime] => 1984185875 [ctime] => 1294322653 [blksize] => -1 [blocks] => -1 )
让我们来看另一个例子。
示例
<?php $stat = stat('new.txt'); echo 'File mode = ' .$stat['mode']; echo ' Last Modification time of the file = ' .$stat['mtime']; ?>
输出结果
File mode = 33206 Last Modification time of the file = 1241387935
语法
array stat ( string $filename )
该功能可以收集以filename命名的文件的统计信息。如果文件名是符号链接,则统计信息来自文件本身,而不是符号链接。lstat()函数与stat()函数相同,只不过它可以基于符号链接状态。
示例1
<?php $stat = stat("/PhpProject/sample.txt"); //获取文件状态 echo "Acces time: " .$stat["atime"]; //打印文件访问时间,与调用fileatime()相同 echo "\nModification time: " .$stat["mtime"]; //打印文件修改时间,与调用filemtime()相同 echo "\nDevice number: " .$stat["dev"]; // 打印设备号 ?>
输出结果
Acces time: 1590217956 Modification time: 1591617832 Device number: 1245376677
示例2
<?php $stat = stat("/PhpProject/sample.txt"); if(!$stat) { echo "stat() call failed..."; } else { $atime = $stat["atime"] + 604800; if(!touch("/PhpProject1/sampl2.txt", time(), $atime)) { echo "failed to touch file..."; } else { echo "touch() returned success..."; } ?>
输出结果
touch() returned success...