PHP 文件函数

PHP fstat() 函数 用来返回关于一个打开的文件的信息。

该函数不能单独使用,因为要读取文件的信息首先得先打开文件 fopen(),读取完成最后得关闭文件 fclose()

语法

fstat(file, length)

参数

参数
说明必须/可选
file指定要读取的文件,它是一个文件指针变量必须

返回值

返回打开文件信息的关联数组,其包含以下信息。

数字下标键名说明
0dev设备名
1ino号码
2modeinode 保护模式
3nlink被连接数目
4uid所有者的用户 id
5gid所有者的组 id
6rdev设备类型,如果是 inode 设备的话
7size文件大小的字节数
8atime上次访问时间(Unix 时间戳)
9mtime上次修改时间(Unix 时间戳)
10ctime上次改变时间(Unix 时间戳)
11blksize文件系统 IO 的块大小
12blocks所占据块的数目

注意点

该函数与 stat() 函数相似,不同的是,它是作用于已打开的文件指针而不是文件名。

例子

现介绍一个简单的例子了解该函数的使用方法。

这里结合 fopen(),fclose() 函数介绍该函数的使用:

<?php
//建议使用try catch 的方式读取文件
$test = fopen("test.txt", 'r+') or die("文件不存在!");
$arr = fstat($test);//获取文件信息
var_dump($arr);
fclose($test);
?>  

输出:

array(26) {
  [0]=>
  int(64769)
  [1]=>
  int(1840260)
  [2]=>
  int(33279)
  [3]=>
  int(1)
  [4]=>
  int(0)
  [5]=>
  int(0)
  [6]=>
  int(0)
  [7]=>
  int(74)
  [8]=>
  int(1683120994)
  [9]=>
  int(1682648010)
  [10]=>
  int(1682661230)
  [11]=>
  int(4096)
  [12]=>
  int(8)
  ["dev"]=>
  int(64769)
  ["ino"]=>
  int(1840260)
  ["mode"]=>
  int(33279)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(0)
  ["gid"]=>
  int(0)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(74)
  ["atime"]=>
  int(1683120994)
  ["mtime"]=>
  int(1682648010)
  ["ctime"]=>
  int(1682661230)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(8)
}