lstat

(PHP 4, PHP 5, PHP 7, PHP 8)

lstatBir dosya veya sembolik bağ hakkında bilgi verir

Açıklama

lstat(string $dosyaismi): array|false

dosyaismi ile belirtilen bir dosya veya sembolik bağın istatistiklerini toplar.

Bağımsız Değişkenler

dosyaismi

Bir dosya veya sembolik bağın yolu.

Dönen Değerler

lstat() işlevinin döndürdüğü dizinin yapısı hakkında bilgi edinmek için stat() sayfasına bakınız. dosyaismi bağımsız değişkeninin bir sembolik bağ olması durumunda sembolik bağın hedefi yerine sembolik bağın kendisi hakkında bilgi döndürmesi bakımından stat() işlevinden farklıdır.

Başarısızlık durumunda, false döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - stat() ve lstat() karşılaştırması

<?php
symlink
('dosya.php', 'dosya');

// Dosya ve dosya.php için bilgileri karşılaştıralım
array_diff(stat('dosya'), lstat('dosya'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

İik dosya arasındaki bilgi farkları:

Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • stat() - Bir dosya hakkında bilgi döndürür

add a note add a note

User Contributed Notes 2 notes

up
-1
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