PHP - Inotify 函数


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 (整数) - 文件被访问(读取) (*)

  • IN_MODIFY(整数) - 文件已修改(*)

  • IN_ATTRIB(整数) - 元数据已更改(例如权限、mtime 等)(*)

  • IN_CLOSE_WRITE (整数) - 打开用于写入的文件已关闭 (*)

  • IN_CLOSE_NOWRITE (整数) - 未打开写入的文件已关闭 (*)

  • IN_OPEN (整数) - 文件已打开 (*)

  • IN_MOVED_TO(整数) - 文件移动到监视目录(*)

  • IN_MOVED_FROM (整数) - 文件移出监视目录 (*)

  • IN_CREATE (整数) - 在监视目录中创建的文件或目录 (*)

  • IN_DELETE (整数) - 在监视目录中删除的文件或目录 (*)

  • IN_DELETE_SELF (整数) - 监视的文件或目录被删除

  • IN_MOVE_SELF (整数) - 监视文件或目录已移动

  • IN_CLOSE (整数) − 等于 IN_CLOSE_WRITE | IN_CLOSE_NOWRITE

  • IN_MOVE (整数) − 等于 IN_MOVED_FROM | IN_MOVED_TO

  • IN_ALL_EVENTS (整数) - 上述所有常量的位掩码

  • IN_UNMOUNT (整数) - 包含监视对象的文件系统已卸载

  • IN_Q_OVERFLOW (整数) - 事件队列溢出(此事件的 wd 为 -1)

  • IN_IGNORED (integer) - 监视已被删除(通过 inotify_rm_watch() 显式删除,或者因为文件被删除或文件系统被卸载

  • IN_ISDIR (整数) - 此事件的主题是一个目录

  • IN_ONLYDIR (整数) - 仅监视路径名(如果它是目录)(自 Linux 2.6.15 起)

  • IN_DONT_FOLLOW (整数) - 如果路径名是符号链接,则不要取消引用路径名(自 Linux 2.6.15 起)

  • IN_MASK_ADD (整数) - 如果该路径名已存在,则添加事件以监视该路径名的掩码(而不是替换掩码)。

  • IN_ONESHOT (整数) - 监视一个事件的路径名,然后从监视列表中删除。

先生编号 功能说明
1

inotify_add_watch()

函数可以将监视添加到已初始化的 inotify 实例中。

2

inotify_init()

函数可以初始化一个inotify实例。

3

inotify_queue_len()

如果存在待处理事件,函数可以返回大于零的数字。

4

inotify_read()

函数可以从 inotify 实例读取事件。

5

inotify_rm_watch()

函数可以从 inotify 实例中删除现有的监视。

php_function_reference.htm