PHP | lstat( ) function (original) (raw)
Last Updated : 14 Sep, 2021
The lstat() function in PHP is used to return information about a file or a symbolic link. It gathers statistics of the file which is sent as a parameter to the lstat() function. The function returns an array which includes information on following elements :
- [0] or [dev] – Device number
- [1] or [ino] – Inode number
- [2] or [mode] – Inode protection mode
- [3] or [nlink] – Number of links
- [4] or [uid] – User ID of owner
- [5] or [gid] – Group ID of owner
- [6] or [rdev] – Inode device type
- [7] or [size] – Size in bytes
- [8] or [atime] – Last access (as Unix timestamp)
- [9] or [mtime] – Last modified (as Unix timestamp)
- [10] or [ctime] – Last inode change (as Unix timestamp)
- [11] or [blksize] – Blocksize of filesystem IO (if supported)
- [12] or [blocks] – Number of blocks allocated
Note:
This function is similar to stat(), except that if the file parameter is a symbolic link, the status of the symlink is return not the status of the file pointed to by the symlink.
Syntax:
lstat(file)
Parameters Used:
The lstat() function in PHP accepts one parameter.
- file : It is a mandatory parameter which specifies the file.
Return Value:
It returns an array with the elements mentioned above.
Exceptions:
- The results of the lstat() function differs from server to server.
- The result of this function are cached and therefore the clearstatcache() function is used to clear the cache.
- An E_WARNING is emitted on failure.
Example: 1
Input : print_r(lstat("gfg.txt"));
Output : Array ( [0] => 0 [1] => 0 [2] => 33206 [3] => 1 [4] => 0 [5] => 0 [6] => 0 [7] => 92 [8] => 1141633430 [9] => 1141298003 [10] => 1138609592 [11] => -1 [12] => -1 [dev] => 0 [ino] => 0 [mode] => 33206 [nlink] => 1 [uid] => 0 [gid] => 0 [rdev] => 0 [size] => 92 [atime] => 1141633430 [mtime] => 1141298003 [ctime] => 1138609592 [blksize] => -1 [blocks] => -1 )
Example: 2
Input : symlink('gfg.php', 'gfg'); array_diff(stat('gfg'), lstat('gfg')); Output : Array ( [ino] => 97236376 [mode] => 33188 [size] => 34 [atime] => 1223580003 [mtime] => 1223581848 [ctime] => 1223581848 [blocks] => 8 )
Explanation: Difference of the results of stat() and lstat() function
Below programs illustrate the lstat() function.
Program 1
php
<?php
print_r(lstat(
"gfg.txt"
));
?>
Output:
Array ( [0] => 0 [1] => 0 [2] => 33206 [3] => 1 [4] => 0 [5] => 0 [6] => 0 [7] => 92 [8] => 1141633430 [9] => 1141298003 [10] => 1138609592 [11] => -1 [12] => -1 [dev] => 0 [ino] => 0 [mode] => 33206 [nlink] => 1 [uid] => 0 [gid] => 0 [rdev] => 0 [size] => 92 [atime] => 1141633430 [mtime] => 1141298003 [ctime] => 1138609592 [blksize] => -1 [blocks] => -1 )
Program 2
php
<?php
symlink(
'gfg.php'
,
'gfg'
);
array_diff
(stat(
'gfg'
), lstat(
'gfg'
));
?>
Output:
Array ( [ino] => 97236376 [mode] => 33188 [size] => 34 [atime] => 1223580003 [mtime] => 1223581848 [ctime] => 1223581848 [blocks] => 8 )
Program 3
php
<?php
$myfile
= lstat(
"./gfg.zip"
);
echo
(
$myfile
);
?>
Output:
Array ( [0] => 2161 [1] => 18351063 [2] => 33188 [3] => 1 [4] => 1036 [5] => 1036 [6] => 0 [7] => 270081 [8] => 1382409024 [9] => 1382409631 [10] => 1382409631 [11] => 4096 [12] => 528 [dev] => 2161 [ino] => 18351063 [mode] => 33188 [nlink] => 1 [uid] => 1036 [gid] => 1036 [rdev] => 0 [size] => 270081 [atime] => 1382409024 [mtime] => 1382409631 [ctime] => 1382409631 [blksize] => 4096 [blocks] => 528 )
Related Article: PHP | stat( ) function
Reference:
http://php.net/manual/en/function.lstat.php