<?php
$wd_constants = array(
1 => array('IN_ACCESS','File was accessed (read)'),
2 => array('IN_MODIFY','File was modified'),
4 => array('IN_ATTRIB','Metadata changed (e.g. permissions, mtime, etc.)'),
8 => array('IN_CLOSE_WRITE','File opened for writing was closed'),
16 => array('IN_CLOSE_NOWRITE','File not opened for writing was closed'),
32 => array('IN_OPEN','File was opened'),
128 => array('IN_MOVED_TO','File moved into watched directory'),
64 => array('IN_MOVED_FROM','File moved out of watched directory'),
256 => array('IN_CREATE','File or directory created in watched directory'),
512 => array('IN_DELETE','File or directory deleted in watched directory'),
1024 => array('IN_DELETE_SELF','Watched file or directory was deleted'),
2048 => array('IN_MOVE_SELF','Watch file or directory was moved'),
24 => array('IN_CLOSE','Equals to IN_CLOSE_WRITE | IN_CLOSE_NOWRITE'),
192 => array('IN_MOVE','Equals to IN_MOVED_FROM | IN_MOVED_TO'),
4095 => array('IN_ALL_EVENTS','Bitmask of all the above constants'),
8192 => array('IN_UNMOUNT','File system containing watched object was unmounted'),
16384 => array('IN_Q_OVERFLOW','Event queue overflowed (wd is -1 for this event)'),
32768 => array('IN_IGNORED','Watch was removed (explicitly by inotify_rm_watch() or because file was removed or filesystem unmounted'),
1073741824 => array('IN_ISDIR','Subject of this event is a directory'),
1073741840 => array('IN_CLOSE_NOWRITE','High-bit: File not opened for writing was closed'),
1073741856 => array('IN_OPEN','High-bit: File was opened'),
1073742080 => array('IN_CREATE','High-bit: File or directory created in watched directory'),
1073742336 => array('IN_DELETE','High-bit: File or directory deleted in watched directory'),
16777216 => array('IN_ONLYDIR','Only watch pathname if it is a directory (Since Linux 2.6.15)'),
33554432 => array('IN_DONT_FOLLOW','Do not dereference pathname if it is a symlink (Since Linux 2.6.15)'),
536870912 => array('IN_MASK_ADD','Add events to watch mask for this pathname if it already exists (instead of replacing mask).'),
2147483648 => array('IN_ONESHOT','Monitor pathname for one event, then remove from watch list.')
);
$path = $argv[1];
$fd = inotify_init();
stream_set_blocking($fd, 0);
$watch_descriptor = inotify_add_watch($fd, $path, IN_ALL_EVENTS);
$poll = 0;
while (true) {
$ecount = 0;
$fcount = 0;
// Poll for queued events, generated meanwhile
// Because while (true) { } has some seriously bad mojo
sleep(5);
$poll++;
$events = inotify_read($fd);
if ($events) $ecount = count($events);
echo "=== ".date("Y-m-d H:i:s")." inotify poll #$poll contains ".$ecount." events";
if ($events) echo ":";
echo "\n";
if ($events) {
foreach ($events as $event) {
$fcount++;
echo " inotify Event #".$fcount." - Object: ".$event['name'].": ".$wd_constants[$event['mask']][0]." (".$wd_constants[$event['mask']][1].")\n";
}
}
}
inotify_rm_watch($fd, $watch_descriptor);
fclose($fd);
?>
PHP.mk документација
inotify_read
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.inotify-read.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.inotify-read.php
inotify_read
Референца за `function.inotify-read.php` со подобрена типографија и навигација.
inotify_read
(PECL inotify >= 0.1.2)
inotify_read — Читај настани од inotify инстанца
Параметри
inotify_instance- од inotify инстанцата inotify_init()
Вратени вредности
Низа од inotify настани или false ако немаше чекачки настани и
inotify_instance е неблокирачки. Секој настан е низа со следниве клучеви:
- wd е дескриптор за гледање вратен од inotify_add_watch()
- mask е битна маска од events
- cookie е уникатен идентификатор за поврзување на поврзани настани (на пр.
IN_MOVE_FROMandIN_MOVE_TO) - name е името на датотека (на пр. ако датотека беше изменета во гледана директорија)
Види Исто така
- inotify_init() Надзор за отстранување од инстанцата
- stream_select() - Изврши надворешна програма и прикажи суров излез
- stream_set_blocking() - Отворете постојана интернет или Unix доменска врска со сокет
- inotify_queue_len() - Врати број поголем од нула ако има чекачки настани
Белешки од корисници 2 забелешки
qriff на hotmail точка ком ¶
12 години пред