Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

26.8. PHP: Получение информации о файле

Иногда нужно получить полную информацию о файле или символической ссылке, при этом затратив как можно меньше усилий и времени. Для решения этой задачи в РНР существует две функции:

• stat(),

• lstat().

Функция stat() позволяет получить массив всех имеющихся параметров указанного файла. Ее синтаксис:

array stat (string filename)

Вместо параметра filename указывается путь к файлу. Функция stat() собирает статистику о файле, указанном в функции. Возвращает массив статистической информации о файле со следующими элементами:

• устройство (device);

• узел (node);

• режим защиты inode (inode protection mode);

• номер ссылки (number of links);

• ID пользователя или владельца (user ID of owner);

• ID группы владельца (group ID owner);

• тип устройства, если устройство inode (device type if inode device);

• размер в байтах (size in bytes);

• время последнего доступа (time of las taccess);

• время последней модификации (time of last modification);

• время последнего обмена (time of last change);

• размер блока для I/O файловой системы (blocksize for filesystem I/O);

• количество занятых блоков (number of blocks allocated).

Для примера произведем исследования файла newname.txt:

<?php

$plot = stat("Z:\\home\\localhost\\www\\newname.txt"); while (list ($line_num, $line) = each ($plot)) {

    echo "<b>Line $line_num:</b> ". htmlspecialchars ($line) . "<br>\n";

}

?>

После того как произойдет выполнение этого примера, на экране браузера выведется массив значений:

Line 0: 25

Line 1: 0

Line 2: 33206

Line 3: 1

Line 4: 0

Line 5: 0

Line 6: 25

Line 7: 40

Line 8: 1010696400

Line 9: 1010676818

Line 10: 1010673781

Line 11: -1

Line 12: -1

Функция работает в PHP 3 и PHP 4.

Функция lstat() является аналогией функции stat(), она также возвращает массив значений параметров указанного файла. Единственное отличие stat() от функции lstat() заключается в том, что последняя работает также и с символьными ссылками. Рассмотрим синтаксис функции:

array lstat (string filename)

Функция lstat () собирает статистику файла или символьной ссылки, названной именем файла. Если параметр является символьной ссылкой, то будет

возвращено состояние символьной ссылки, но ни в коем случае не состояние файла, указанного символьной ссылкой.

Функция lstat() используется в РНР 3—3.0:4 и РНР 4.

<< Предыдущий параграф Следующий параграф >>
Оглавление