array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'evstat.construct.php', 1 => 'EvStat::__construct', ), 'up' => array ( 0 => 'class.evstat.php', 1 => 'EvStat', ), 'prev' => array ( 0 => 'evstat.attr.php', 1 => 'EvStat::attr', ), 'next' => array ( 0 => 'evstat.createstopped.php', 1 => 'EvStat::createStopped', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/ev/evstat/construct.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL ev >= 0.2.0)
EvStat::__construct — Создаёт объект наблюдателя EvStat
$path
,$interval
,$callback
,$data
= null
,$priority
= 0
Метод создаёт объект наблюдателя EvStat и автоматически запускает наблюдателя.
path
Путь для ожидания изменения статуса.
interval
Подсказка о том, как быстро ожидается обнаружение изменений.
Для интервала лучше указать значение 0.0
,
чтобы модуль libev сам выбирал подходящее значение.
callback
Смотрите Наблюдатели обратного вызова .
data
Пользовательские данные, связанные с наблюдателем.
priority
Пример #1 Смотрим изменения в /var/log/messages
<?php
// Используем 10-секундный интервал обновления.
$w = new EvStat("/var/log/messages", 10, function ($w) {
echo "/var/log/messages изменён\n";
$attr = $w->attr();
if ($attr['nlink']) {
printf("Размер: %ld\n", $attr['size']);
printf("Время просмотра: %ld\n", $attr['atime']);
printf("Время изменения: %ld\n", $attr['mtime']);
} else {
fprintf(STDERR, "`messages` файл не найден!");
$w->stop();
}
});
?>