fstat

(PHP 4, PHP 5, PHP 7)

fstatПолучает информацию о файле используя открытый файловый указатель

Описание

array fstat ( resource $handle )

Собирает статистическую информацию об открытом файле по файловому указателю handle. Эта функция похожа на stat(), за исключением того, что она работает с открытым файловым указателем, а не именем файла.

Список параметров

handle

Указатель (resource) на файл, обычно создаваемый с помощью функции fopen().

Возвращаемые значения

Возвращает массив со статистической информацией файла; формат массива подробно описан на странице описания функции stat().

Примеры

Пример #1 Пример использования функции fstat()

<?php

// открываем файл
$fp fopen("/etc/passwd""r");

// собираем статистику
$fstat fstat($fp);

// закрываем файл
fclose($fp);

// отображаем только ассоциативную часть
print_r(array_slice($fstat13));

?>

Результатом выполнения данного примера будет что-то подобное:

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
)

Примечания

Замечание: Эта функция неприменима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

add a note add a note

User Contributed Notes 2 notes

up
1
broom at alturnanetworks dot com
9 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
4 months 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