lstat

(PHP 4, PHP 5, PHP 7)

lstatPodaje informacje o pliku lub dowiązaniu symbolicznym

Opis

lstat ( string $nazwa_pliku ) : array

Zbiera statystyki pliku lub dowiązania symbolicznego nazwanego przez nazwę_pliku. Ta funkcja jest identyczna do funkcji stat() z wyjątkiem tego, że jeśli parametr nazwa_pliku jest dowiązaniem symbolicznym, zwracany jest status dowiązania symbolicznego, a nie status pliku na które ono wskazuje.

Zobacz stronę podręcznika dla stat() w którym znajdują się informacje na temat struktury tablicy jaką lstat() zwraca.

Informacja: Wyniki działania tej funkcji są buforowane. Zobacz opis funkcji clearstatcache() aby uzyskać więcej informacji.

Wskazówka

Od PHP 5.0.0 ta funkcja może być użyta także z niektórymi nakładkami URL. Zobacz Wspierane protokoły i wrappery aby dowiedzieć się które obsługują funkcjonalność z rodziny stat().

Patrz także: stat().

add a note add a note

User Contributed Notes 2 notes

up
0
HP@SG
3 years ago
Just for information and in reply to a previous message left 4 years ago by "salsi at icosaedro dot it" :

Files larger than 2 GiB can be handled on 64-bit Linux systems.

My test in a terminal is as follow (using <?php ;?> tags to colour the results for ease of reading) :

$ php -v

<?php
"
PHP 7.2.24-0ubuntu0.18.04.7 (cli) (built: Oct  7 2020 15:24:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.24-0ubuntu0.18.04.7, Copyright (c) 1999-2018, by Zend Technologies
"
;?>

$ date ; dd if=/dev/zero of=/tmp/php_test_huge bs=1024K count=2100 ; date ; ls -l /tmp/php_test_huge

<?php
"
Wed Nov 11 15:35:46 +08 2020
2100+0 records in
2100+0 records out
2202009600 bytes (2.2 GB, 2.1 GiB) copied, 4.79192 s, 460 MB/s
Wed Nov 11 15:35:51 +08 2020
-rw-r--r-- 1 harold harold 2202009600 Nov 11 15:35 /tmp/php_test_huge
"
;?>

$ php -r 'var_dump(lstat("/tmp/php_test_huge"));'

<?php
"
array(26) {
  [0]=>
  int(2050)
  [1]=>
  int(19923027)
  [2]=>
  int(33188)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(1000)
  [6]=>
  int(0)
  [7]=>
  int(2202009600)
  [8]=>
  int(1605079647)
  [9]=>
  int(1605080149)
  [10]=>
  int(1605080149)
  [11]=>
  int(4096)
  [12]=>
  int(4300808)
  ["
dev"]=>
  int(2050)
  ["
ino"]=>
  int(19923027)
  ["
mode"]=>
  int(33188)
  ["
nlink"]=>
  int(1)
  ["
uid"]=>
  int(1000)
  ["
gid"]=>
  int(1000)
  ["
rdev"]=>
  int(0)
  ["
size"]=>
  int(2202009600)
  ["
atime"]=>
  int(1605079647)
  ["
mtime"]=>
  int(1605080149)
  ["
ctime"]=>
  int(1605080149)
  ["
blksize"]=>
  int(4096)
  ["
blocks"]=>
  int(4300808)
}
"
;?>
up
-3
salsi at icosaedro dot it
8 years ago
This function fails and returns FALSE with files larger than 2 GB on Linux 32-bits (PHP 7.1.0-dev):

    $ dd if=/dev/zero of=/tmp/huge bs=1048576 count=2050
    $ php -r 'var_dump(lstat("/tmp/huge"));'
    --> Warning: lstat(): Lstat failed for /tmp/huge in Command line code on line 1

Window not tested. PHP 64-bits not tested.
To Top