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 *****
3nlinkкількість посилань
4uiduserid власника *
5gidgroupid власника *
6rdevтип пристрою, якщо пристрій inode
7sizeрозмір у байтах
8atimeчас останнього доступу (тимчасова мітка Unix)
9mtimeчас останньої модифікації (тимчасова мітка Unix)
10ctimeчас останньої зміни inode (тимчасова мітка Unix)
11blksizeрозмір блоку введення-виведення файлової системи **
12blocksкількість використовуваних 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символьний пристрій
0010000fifo

Так, наприклад, звичайний файл може бути 0100644, а директорія може бути 0040755

В случае возникновения ошибкиstat() повертає false

Зауваження: Так як тип integer в PHP є цілим числом зі знаком, і багато платформ використовують 32-бітові цілі числа, то деякі функції файлових систем можуть повертати несподівані результати для файлів розміром більше 2 Гб.

Помилки

В случае возникновения ошибки будет сгенерирована ошибка уровня**E_WARNING**

список змін

ВерсияОпис
7.4.0У Windows номер пристрою тепер є серійним номером тома, що містить файл і номер inode - це ідентифікатор, пов'язаний із файлом.
7.4.0Статистика символьних посилань sizeatimemtimeиctime завжди відповідає статистиці цільового об'єкта. Це було раніше не характерно для NTS-збирання на Windows.

Приклади

Приклад #1 Приклад використання stat()****

Loading...

Приклад #2 Использование информации изstat()вместе сtouch()

Loading...

Примітки

Зауваження :

Зверніть увагу, що обробка часу може відрізнятися в різних файлових системах.

Зауваження: Результати цієї функції кешуються Більш детальну інформацію дивіться у розділі clearstatcache()

Підказка

Починаючи з PHP 5.0.0, ця функція також може бути використана з деякими обгортками url. Список обгорток, що підтримуються сімейством функцій stat(), смотрите в разделеПідтримувані протоколи та обгортки

Дивіться також

  • lstat() - Повертає інформацію про файл або символічне посилання
  • fstat() - Отримує інформацію про файл, використовуючи відкритий файловий покажчик
  • filemtime() - Повертає час останньої зміни файлу
  • filegroup() - Отримує ідентифікатор групи файлу
  • SplFileInfo