inotify 扩展可以公开 inotify 函数:inotify_init()、inotify_add_watch() 和 inotify_rm_watch()。
由于 C 语言 inotify_init() 函数返回文件描述符,PHP 的 inotify_init() 函数返回可用于标准流函数的流资源:stream_select()、stream_set_blocking() 和 fclose()。inotify_read() 可以替换读取 inotify 事件的 C 方式。
此扩展可能需要 Linux 2.6.13 或更高版本以及最新的 libC。
此扩展没有在 php.ini 定义的配置指令。
此扩展可以定义 inotify_init() 函数返回的流资源。
预定义常量
常量由此扩展在下面定义,并且仅当扩展已编译为 PHP 或在运行时动态加载时可用。
Inotify 常量可以与 inotify_add_watch() 一起使用和/或由 inotify_read() 返回。
常量 | 描述 |
---|---|
IN_ACCESS (integer) | 已访问文件(读取) (*) |
IN_MODIFY (integer) | 文件已修改 (*) |
IN_ATTRIB (integer) | 元数据已更改(例如权限、mtime 等)(*) |
IN_CLOSE_WRITE (integer) | 打开用于写入的文件已关闭 (*) |
IN_CLOSE_NOWRITE (integer) | 未打开写入的文件已关闭 (*) |
IN_OPEN (integer) | 文件已打开 (*) |
IN_MOVED_TO (integer) | 文件已移至监视目录 (*) |
IN_MOVED_FROM (integer) | 文件移出监视目录 (*) |
IN_CREATE (integer) | 在监视目录 (*) 中创建的文件或目录 |
IN_DELETE (integer) | 在监视目录 (*) 中删除的文件或目录 |
IN_DELETE_SELF (integer) | 已删除监视的文件或目录 |
IN_MOVE_SELF (integer) | 监视文件或目录已移动 |
IN_CLOSE (integer) | 等于 IN_CLOSE_WRITE ,IN_CLOSE_NOWRITE |
IN_MOVE (integer) | 等于 IN_MOVED_FROM ,IN_MOVED_TO |
IN_ALL_EVENTS (integer) | 上述所有常量的位掩码 |
IN_UNMOUNT (integer) | 已卸载包含监视对象的文件系统 |
IN_Q_OVERFLOW (integer) | 事件队列溢出(此事件的 wd 为 -1) |
IN_IGNORED (integer) | 监视已删除(由 inotify_rm_watch() 明确删除,或者因为文件已删除或文件系统已卸载 |
IN_ISDIR (integer) | 此事件的主题是一个目录 |
IN_ONLYDIR (integer) | 仅当路径名是目录时才监视路径名(自 Linux 2.6.15 起) |
IN_DONT_FOLLOW (integer) | 如果路径名是符号链接,则不要取消引用路径名(自 Linux 2.6.15 起) |
IN_MASK_ADD (integer) | 如果此路径名已存在,则添加事件以监视该路径名的 mask(而不是替换 mask)。 |
IN_ONESHOT (integer) | 监控一个事件的路径名,然后从监视列表中删除。 |
函数列表
函数 | 描述 |
---|---|
inotify_add_watch() | 将监视添加到初始化的 inotify 实例。 |
inotify_init() | 初始化 inotify 实例。 |
inotify_queue_len() | 如果存在待处理事件,则函数可以返回大于零的数字。 |
inotify_read() | 从 inotify 实例读取事件。 |
inotify_rm_watch() | 从 inotify 实例中删除现有监视。 |