Функции за работа с файловата система
PHP Manual

stat

(PHP 4, PHP 5)

statДава информация относно файл

Описание

array stat ( string $filename )

Взема информация за файл filename . Ако filename е символична връзка, информацията е за сочения файл, не за символичната връзка.

Функцията lstat() е подобна на stat(), но връща информация за символичната връзка.

Параметри

filename

Път до файла.

Връщани стойности

Формат на резултата на stat() и fstat() format
Индекс Асоциативен индекс (since PHP 4.0.6) Описание
0 dev номер на устройство
1 ino inode номер*
2 mode inode защитен режим
3 nlink брой на връзките
4 uid userid на собственика *
5 gid groupid на собственика *
6 rdev тип на устройството, ако е inode устройство
7 size Размер в байтове
8 atime време на последен достъп (Unix timestamp)
9 mtime време на последна модификация (Unix timestamp)
10 ctime време на последна промяна на inode (Unix timestamp)
11 blksize размер на блока на файловата система за вход/изход **
12 blocks брой на заетите блокове **

Под windows винаги ще бъде 0.

* Валидно единствено за системи, които поддържат типа st_blksize - при другите системи (като Windows) се връща -1.

В случай на грешка stat() връща FALSE.

Грешки/Изключения

При грешка се издава предупреждение E_WARNING..

Дневник на промените

Версия Описание
4.0.6 В допълнение на елементите в номериран масив се връщат и като асоциативен масив от PHP 4.0.6):

Примери

Example #1 Пример за използване на stat()

<?php
/* Взема stat данните за файл */
$stat stat('C:\php\php.exe');

/*
 * Отпечатва времето на последен достъп до файла.
 * Това е същото като извикване на fileatime()
 */
echo 'Последен достъп до файла: ' $stat['atime'];

/*
 * Отпечатва времето на последна модификация на файл.
 * Това е същото като извикване на filemtime()
 */
echo 'Последна модификация на файла: ' $stat['mtime'];

/* Отпечатва номера на устройство */
echo 'Номер на устройство: ' $stat['dev'];

Example #2 Използване на stat() заедно с функцията touch()

<?php
/* Взема stat данните за файл */
$stat = @stat('C:\php\php.exe');

/* Дали се провали вземането на данните? */
if(!$stat)
{
    echo 
'stat се провали...';
}
else
{
    
/*
     * Искаме времето на последен достъп да е една седмица
     * преди текущото време

     */
    
$atime $stat['atime'] + 604800;

    
/* "Докосваме" файла */
    
if(!@touch('some_file.txt'time(), $atime))
    {
        echo 
'Неуспешно "докосване"...';
    }
    else
    {
        echo 
'Успешно докосване...';
    }
}
?>

Бележки

Забележка: Забележете, че анализът на времето може да се различава при една или друга файлова система.

Забележка: Резултатите от тази функция са кеширани. Виж clearstatcache() за повече подробности.

Съвет

От PHP 5.0.0 тази функция може също да бъде използвана с някои URL опаковачи (wrappers). Виж List of Supported Protocols/Wrappers за списък с опаковачите, които поддържат stat() семейството от функции.

Вж. също


Функции за работа с файловата система
PHP Manual