PHP 文件系统 lstat() 函数



PHP 文件系统lstat()函数用于返回有关文件或符号链接的信息。它可以收集由文件名命名的文件或符号链接的统计信息,并且与stat()函数相同,除非文件名参数是符号链接,则返回符号链接的状态,而不是符号链接指向的文件的状态。

如果出现错误,则会生成 E_WARNING。

语法

以下是 PHP 文件系统lstat()函数的语法:

array lstat ( string $filename )

参数

以下是lstat()函数唯一必需的参数:

序号 参数 & 说明
1

$filename(必需)

它是文件或符号链接的路径。

返回值

该函数返回一个包含有关文件或链接信息的数组,或者在失败时返回 false。

数组键

以下是 lstat() 函数返回的数组键:

  • dev: 设备号
  • ino: inode 号
  • mode: 文件模式,表示文件类型及其权限
  • nlink: 链接数
  • uid: 所有者的用户 ID
  • gid: 所有者的组 ID
  • rdev: 设备类型
  • size: 以字节为单位的大小
  • atime: 最后访问时间(Unix 时间戳)
  • mtime: 最后修改时间(Unix 时间戳)
  • ctime: 最后 inode 更改时间(Unix 时间戳)
  • blksize: 文件系统 I/O 的块大小
  • blocks: 已分配的 512 字节块数

PHP 版本

lstat()函数最初作为核心 PHP 4 的一部分引入,并与 PHP 5、PHP 7 和 PHP 8 兼容。

示例

这是一个基本示例,展示如何使用 PHP 文件系统lstat()函数获取有关提供文件的的信息。

<?php
   print_r(lstat("/PhpProject/sample.txt"));
?>

输出

以下是以下代码的结果:

Array
(
    [0] => 16777230
    [1] => 12399113
    [2] => 33188
    [3] => 1
    [4] => 501
    [5] => 20
    [6] => 0
    [7] => 75
    [8] => 1718709841
    [9] => 1718704399
    [10] => 1718709841
    [11] => 4096
    [12] => 8
    [dev] => 16777230
    [ino] => 12399113
    [mode] => 33188
    [nlink] => 1
    [uid] => 501
    [gid] => 20
    [rdev] => 0
    [size] => 75
    [atime] => 1718709841
    [mtime] => 1718704399
    [ctime] => 1718709841
    [blksize] => 4096
    [blocks] => 8
)

示例

这是另一个示例,展示了lstat()函数的用法,使用以下代码,您可以获取给定文件的信息,并通过向用户打印错误消息来处理错误。

<?php
   //Path to the file
   $filename = '/PhpProject/sample.txt';

   $info = lstat($filename);

   if ($info !== false) {
      print_r($info);
   } else {
      echo "Unable to get file information.";
   }
?> 

输出

这将产生以下结果:

Array
(
    [0] => 16777230
    [1] => 12347588
    [2] => 41453
    [3] => 1
    [4] => 501
    [5] => 20
    [6] => 0
    [7] => 70
    [8] => 1718388194
    [9] => 1718388194
    [10] => 1718711658
    [11] => 4096
    [12] => 0
    [dev] => 16777230
    [ino] => 12347588
    [mode] => 41453
    [nlink] => 1
    [uid] => 501
    [gid] => 20
    [rdev] => 0
    [size] => 70
    [atime] => 1718388194
    [mtime] => 1718388194
    [ctime] => 1718711658
    [blksize] => 4096
    [blocks] => 0
)

示例

这是一个使用 PHP 的lstat()函数获取有关提供的目录信息的另一个示例。

<?php
   //Path to the directory
   $directory = '/PhpProject';

   $info = lstat($directory);

   if ($info !== false) {
      echo "Directory Information:\n";
      print_r($info);
   } else {
      echo "Unable to get directory information.";
   }
?> 

输出

这将生成以下输出:

Directory Information:
Array
(
    [0] => 16777230
    [1] => 11902275
    [2] => 16877
    [3] => 25
    [4] => 501
    [5] => 20
    [6] => 0
    [7] => 800
    [8] => 1718879304
    [9] => 1718879304
    [10] => 1718879304
    [11] => 4096
    [12] => 0
    [dev] => 16777230
    [ino] => 11902275
    [mode] => 16877
    [nlink] => 25
    [uid] => 501
    [gid] => 20
    [rdev] => 0
    [size] => 800
    [atime] => 1718879304
    [mtime] => 1718879304
    [ctime] => 1718879304
    [blksize] => 4096
    [blocks] => 0
)

示例

这是一个使用 PHP 的lstat()函数获取有关提供的符号链接信息的另一个示例。

<?php
   //Path to the symbolic link
   $symlink = '/PhpProjects/filetext.txt';

   $info = lstat($symlink);
   
   if ($info !== false) {
       echo "Symbolic Link Information:\n";
       print_r($info);
   } else {
       echo "Unable to get symbolic link information.";
   }
?> 

输出

这将产生以下结果:

Symbolic Link Information:
Array
(
    [0] => 16777230
    [1] => 12399113
    [2] => 33188
    [3] => 2
    [4] => 501
    [5] => 20
    [6] => 0
    [7] => 75
    [8] => 1718949187
    [9] => 1718704399
    [10] => 1718949187
    [11] => 4096
    [12] => 8
    [dev] => 16777230
    [ino] => 12399113
    [mode] => 33188
    [nlink] => 2
    [uid] => 501
    [gid] => 20
    [rdev] => 0
    [size] => 75
    [atime] => 1718949187
    [mtime] => 1718704399
    [ctime] => 1718949187
    [blksize] => 4096
    [blocks] => 8
)

总结

lstat()方法是一个内置函数,用于获取有关指定文件、目录或符号链接的信息。成功时返回信息数组,失败时返回 false。

php_function_reference.htm
广告