PHP fstat() Function
The PHP fstat() function returns information (statistics) about a file opened by the file pointer stream.
The results from this function will differ from server to server. The array may contain the number index, the name index, or both.
This function is identical to the stat() function except that it operates on an open file pointer instead of a filename.
Syntax
fstat(stream)
Parameters
stream |
Required. Specify the file pointer that is typically created using fopen() function. |
Return Value
In case of error, returns false, otherwise returns an array with the following elements:
Numeric | Associative | Description |
---|---|---|
0 | dev | device number |
1 | ino | inode number |
2 | mode | inode protection mode |
3 | nlink | number of links |
4 | uid | userid of owner |
5 | gid | groupid of owner |
6 | rdev | device type, if inode device |
7 | size | size in bytes |
8 | atime | time of last access (Unix timestamp) |
9 | mtime | time of last modification (Unix timestamp) |
10 | ctime | time of last inode change (Unix timestamp) |
11 | blksize | blocksize of filesystem IO |
12 | blocks | number of 512-byte blocks allocated |
The value of mode contains information read by several functions. When written in octal, starting from the right, the first three digits are returned by chmod(). The next digit is ignored by PHP. The next two digits indicate the file type. For example a regular file could be 0100644 and a directory could be 0040755.
mode file types
mode in octal | Description |
---|---|
0140000 | socket |
0120000 | link |
0100000 | regular file |
0060000 | block device |
0040000 | directory |
0020000 | character device |
0010000 | fifo |
Exceptions
Upon failure, an E_WARNING is emitted.
Example: fstat() example
Lets assume that we have a file called test.txt. By using fopen() function, this file is opened. Then, the fstat() function is used to get the statistics about this file.
<?php $file = "test.txt"; //open the file in read mode $fp = fopen($file, "r"); //using the fstat() function to //get statistics about the file $info = fstat($fp); //displaying the statistics print_r($info); ?>
The output of the above code will be:
Array ( [0] => 2049 [1] => 523021 [2] => 33188 [3] => 1 [4] => 33 [5] => 33 [6] => 0 [7] => 48 [8] => 1633624106 [9] => 1633624106 [10] => 1633624106 [11] => 4096 [12] => 8 [dev] => 2049 [ino] => 523021 [mode] => 33188 [nlink] => 1 [uid] => 33 [gid] => 33 [rdev] => 0 [size] => 48 [atime] => 1633624106 [mtime] => 1633624106 [ctime] => 1633624106 [blksize] => 4096 [blocks] => 8 )
❮ PHP Filesystem Reference