inotify_init
(PECL inotify >= 0.1.2)
inotify_init - 初始化一个inotify实例
描述
resource inotify_init ( void )
初始化inotify实例以用于inotify_add_watch()
返回值
流资源或FALSE
错误。
例子
Example #1 Example usage of inotify
<?php
//?Open?an?inotify?instance
$fd?=?inotify_init();
//?Watch?__FILE__?for?metadata?changes?(e.g.?mtime)
$watch_descriptor?=?inotify_add_watch($fd,?__FILE__,?IN_ATTRIB);
//?generate?an?event
touch(__FILE__);
//?Read?events
$events?=?inotify_read($fd);
print_r($events);
//?The?following?methods?allows?to?use?inotify?functions?without?blocking?on?inotify_read():
//?-?Using?stream_select()?on?$fd:
$read?=?array($fd);
$write?=?null;
$except?=?null;
stream_select($read,$write,$except,0);
//?-?Using?stream_set_blocking()?on?$fd
stream_set_blocking($fd,?0);
inotify_read($fd);?//?Does?no?block,?and?return?false?if?no?events?are?pending
//?-?Using?inotify_queue_len()?to?check?if?event?queue?is?not?empty
$queue_len?=?inotify_queue_len($fd);?//?If?>?0,?inotify_read()?will?not?block
//?Stop?watching?__FILE__?for?metadata?changes
inotify_rm_watch($fd,?$watch_descriptor);
//?Close?the?inotify?instance
//?This?may?have?closed?all?watches?if?this?was?not?already?done
fclose($fd);
?>
上面的例子会输出类似于:
array(
array(
'wd' => 1, // Equals $watch_descriptor
'mask' => 4, // IN_ATTRIB bit is set
'cookie' => 0, // unique id to connect related events (e.g.
// IN_MOVE_FROM and IN_MOVE_TO events)
'name' => '', // the name of a file (e.g. if we monitored changes
// in a directory)
),
);
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com