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 :

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.

Return Value:
It returns an array with the elements mentioned above.
Exceptions:

  1. The results of the lstat() function differs from server to server.
  2. The result of this function are cached and therefore the clearstatcache() function is used to clear the cache.
  3. 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