您好!欢迎访问家园网-www.jy.wang!

家园网

PHP中的stat()函数

网络 作者:本站 点击:

该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...


标签: