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() 可以替代 C 读取 inotify 事件的方式。

此扩展可能需要 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 (整数) − 已删除监视(通过 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
广告