(PHP 4, PHP 5)
stat — Дава информация относно файл
Взема информация за файл filename . Ако filename е символична връзка, информацията е за сочения файл, не за символичната връзка.
Функцията lstat() е подобна на stat(), но връща информация за символичната връзка.
Път до файла.
Индекс | Асоциативен индекс (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() семейството от функции.