stat
(PHP 4, PHP 5, PHP 7, PHP 8)
stat — Повертає інформацію про файл
Опис
stat(string $filename): array|false
Збирає статистичну інформацію про файл filename
. Якщо filename
є символічним посиланням, інформація збирається про сам файл, а не посилання. До PHP 7.4.0 у Windows NTS у цьому випадку будував статистику size
atime
mtime
иctime
із символьного посилання.
Функцияlstat() ідентична функції stat() за винятком того, що в даному випадку вона поверне інформацію про символічне посилання.
Список параметрів
filename
Шлях до файлу.
Значення, що повертаються
**Формат результату роботи функцій **stat()иfstat()
Числовой | Ассоциативный | Опис |
---|---|---|
dev | номер пристрою *** | |
ino | номер inode **** | |
mode | режим захисту inode ***** | |
3 | nlink | кількість посилань |
4 | uid | userid власника * |
5 | gid | groupid власника * |
6 | rdev | тип пристрою, якщо пристрій inode |
7 | size | розмір у байтах |
8 | atime | час останнього доступу (тимчасова мітка Unix) |
9 | mtime | час останньої модифікації (тимчасова мітка Unix) |
10 | ctime | час останньої зміни inode (тимчасова мітка Unix) |
11 | blksize | розмір блоку введення-виведення файлової системи ** |
12 | blocks | кількість використовуваних 512-байтних блоків ** |
* У Windows це завжди буде
** Доступний лише на системах, які підтримують тип st_blksize - інші системи (наприклад, Windows) повернуть -1
*** У Windows, починаючи з PHP 7.4.0, це серійний номер тома, що містить файл, який є 64-розрядним цілим числом без знаку, тому може переповнитися у 32-розрядних системах. Раніше це було числове подання букви диска (наприклад, дляC:
) для**stat()**и дляlstat()
**** У Windows, починаючи з PHP 7.4.0, ідентифікатор, пов'язаний з файлом, який є 64-розрядним цілим числом без знакуможе переповнитися в 32-розрядних системах. Раніше він завжди був
***** У Windows біт дозволу на запис встановлюється відповідно до атрибута файлу тільки для читання, те саме значення повідомляється для всіх користувачів, групи і власника. ACL не враховується, на відміну від is_writable()
Значениеmode
містить інформацію, що читається кількома функціями. При записі у вісімковому вигляді, починаючи праворуч, перші три цифри повертаються функцією chmod(). Наступна цифра ігнорується PHP. Наступні дві цифри вказують тип файлу:
mode
типів файлів
mode в восьмеричном виде | Значение |
---|---|
0140000 | сокет |
0120000 | символічне посилання |
0100000 | звичайний файл |
0060000 | блоковий пристрій |
0040000 | директорія |
0020000 | символьний пристрій |
0010000 | fifo |
Так, наприклад, звичайний файл може бути 0100644
, а директорія може бути 0040755
В случае возникновения ошибкиstat() повертає false
Зауваження: Так як тип integer в PHP є цілим числом зі знаком, і багато платформ використовують 32-бітові цілі числа, то деякі функції файлових систем можуть повертати несподівані результати для файлів розміром більше 2 Гб.
Помилки
В случае возникновения ошибки будет сгенерирована ошибка уровня**E_WARNING
**
список змін
Версия | Опис |
---|---|
7.4.0 | У Windows номер пристрою тепер є серійним номером тома, що містить файл і номер inode - це ідентифікатор, пов'язаний із файлом. |
7.4.0 | Статистика символьних посилань size atime mtime иctime завжди відповідає статистиці цільового об'єкта. Це було раніше не характерно для NTS-збирання на Windows. |
Приклади
Приклад #1 Приклад використання stat()****
Loading...
Приклад #2 Использование информации изstat()вместе сtouch()
Loading...
Примітки
Зауваження :
Зверніть увагу, що обробка часу може відрізнятися в різних файлових системах.
Зауваження: Результати цієї функції кешуються Більш детальну інформацію дивіться у розділі clearstatcache()
Підказка
Починаючи з PHP 5.0.0, ця функція також може бути використана з деякими обгортками url. Список обгорток, що підтримуються сімейством функцій stat(), смотрите в разделеПідтримувані протоколи та обгортки
Дивіться також
- lstat() - Повертає інформацію про файл або символічне посилання
- fstat() - Отримує інформацію про файл, використовуючи відкритий файловий покажчик
- filemtime() - Повертає час останньої зміни файлу
- filegroup() - Отримує ідентифікатор групи файлу
- SplFileInfo