牛牛在线工具

inotify_add_watch()

收录 8868 个 PHP 函数,含用途说明与用法示例。

inotify_add_watch()

向inotify实例添加一个新的监视对象

函数名称:inotify_add_watch() 适用版本:该函数在PHP 5.4.0及以上版本中可用。 用法:inotify_add_watch()函数用于向inotify实例添加一个新的监视对象。它会监视指定的文件或目录,并返回一个唯一的监视描述符。一旦监视对象的状态发生变化,可以使用该描述符来获取有关该事件的信息。 语法:int inotify_add_watch(resource $inotify_instance, string $pathname, int $mask) 参数: $inotify_instance:inotify实例,使用inotify_init()函数创建。 $pathname:要监视的文件或目录的路径。 $mask:要监视的事件类型。可以是以下常量的组合: IN_ACCESS:文件被访问 IN_ATTRIB:文件属性发生变化 IN_CLOSE_WRITE:文件被写入并关闭 IN_CLOSE_NOWRITE:文件被关闭(不包括写入) IN_CREATE:文件或目录被创建 IN_DELETE:文件或目录被删除 IN_DELETE_SELF:监视的文件或目录自身被删除 IN_MODIFY:文件被修改 IN_MOVE_SELF:监视的文件或目录自身被移动 IN_MOVED_FROM:文件或目录被移出监视的目录 IN_MOVED_TO:文件或目录被移入监视的目录 IN_OPEN:文件被打开 返回值:如果成功,则返回一个非负整数,表示监视描述符。如果失败,则返回false。 示例: $inotifyInstance = inotify_init(); $watchDescriptor = inotify_add_watch($inotifyInstance, '/path/to/file.txt', IN_MODIFY | IN_DELETE); if ($watchDescriptor === false) { echo "添加监视失败"; } else { echo "监视描述符:$watchDescriptor"; } // 监听事件 while (true) { $events = inotify_read($inotifyInstance); if ($events === false) { echo "读取事件失败"; break; } foreach ($events as $event) { echo "事件类型:{$event['mask']}\n"; echo "事件名称:{$event['name']}\n"; echo "事件路径:{$event['path']}\n"; } } // 关闭inotify实例 inotify_rm_watch($inotifyInstance, $watchDescriptor); fclose($inotifyInstance); 在上面的示例中,我们首先通过inotify_init()函数创建了一个inotify实例。然后使用inotify_add_watch()函数向该实例添加了一个监视对象,即文件/path/to/file.txt。监视的事件类型为文件被修改或删除。如果添加监视成功,则返回一个监视描述符,否则返回false。接下来,我们使用inotify_read()函数读取inotify实例中发生的事件,并对每个事件进行处理。最后,我们使用inotify_rm_watch()函数和fclose()函数关闭inotify实例和监视描述符。