CakeFest 2024: The Official CakePHP Conference

fstat

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

fstatBir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür

Açıklama

fstat(resource $dt): array|false

Dosya tanıtıcısı dt olan bir dosya ile ilgili istatistikleri döndürür. Bir dosya ismi yerine açık bir dosya tanıtıcısı üzerinde çalışması dışında stat() işlevi gibidir.

Bağımsız Değişkenler

dt

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

Dönen Değerler

Dosya ile ilgili istatistikleri içeren bir dizi döndürür. Dönen dizinin biçemi hakkında bilgi edinmek için stat() işlevine bakınız. Başarısızlık durumunda false döndürür.

Örnekler

Örnek 1 - fstat() örneği

<?php

// bir dosya açalım
$fp = fopen("/etc/passwd", "r");

// istatistikleri toplayalım
$fstat = fstat($fp);

// dosyayı kapatalım
fclose($fp);

// sadece ilişkisel kısmı basar
print_r(array_slice($fstat, 13));

?>

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

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

add a note

User Contributed Notes 2 notes

up
1
broom at alturnanetworks dot com
15 years ago
Another ftp_get_contents() approach, using a temperary stream handler. Returns file contents of remote file as string.

<?php
function ftp_get_contents ($conn_id, $remote_filename) {
//Create temp handler:
$tempHandle = fopen('php://temp', 'r+');

//Get file from FTP assuming that it exists:
ftp_fget($conn_id, $tempHandle, $remote_filename, FTP_ASCII, 0));

//Getting detailed stats to check filesize:
$fstats = fstat($tempHandle);

return
fread($tempHandle, $fstats['size']);
}
?>

(It is recommended to add some error handling)
up
0
tom at bitworks dot de
6 years ago
Remember atime will not be updated by simple read access to the file unless you take care for that in the mounting parameters of your filesystem.

Instead of atime, mtime will be delivered. But mtime only will be updated, if the contents of the file has changed.

Due to this behavior take care in your Session-System. Using session_start() will not be sufficiant to keep your sessions alive. You should write into the Session, e. g. :

$_SESSION = time();

That retriggers your mtime and atime, even if the mounting parameter for atime is set to "noatime" or is missing, dependent of the used file System.
To Top