预定义常量

以下常量由此扩展定义,仅在将扩展编译到 PHP 中或在运行时动态加载时可用。

可与 inotify_add_watch() 一起使用或由 inotify_read() 返回的 Inotify 常量
IN_ACCESS (int)
文件被访问(读取)(*)
IN_MODIFY (int)
文件被修改 (*)
IN_ATTRIB (int)
元数据更改(例如权限、mtime 等)(*)
IN_CLOSE_WRITE (int)
以写入方式打开的文件已关闭 (*)
IN_CLOSE_NOWRITE (int)
未以写入方式打开的文件已关闭 (*)
IN_OPEN (int)
文件已打开 (*)
IN_MOVED_TO (int)
文件移动到监视目录中 (*)
IN_MOVED_FROM (int)
文件从监视目录中移动 (*)
IN_CREATE (int)
在监视目录中创建文件或目录 (*)
IN_DELETE (int)
在监视目录中删除文件或目录 (*)
IN_DELETE_SELF (int)
监视的文件或目录已删除
IN_MOVE_SELF (int)
监视的文件或目录已移动
IN_CLOSE (int)
等于 IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE (int)
等于 IN_MOVED_FROM | IN_MOVED_TO
IN_ALL_EVENTS (int)
所有上述常量的位掩码
IN_UNMOUNT (int)
包含监视对象的 文件系统 已卸载
IN_Q_OVERFLOW (int)
事件队列溢出(此事件的 wd 为 -1)
IN_IGNORED (int)
监视被删除(由 inotify_rm_watch() 显式删除,或者因为文件被删除或文件系统已卸载
IN_ISDIR (int)
此事件的主题是目录
IN_ONLYDIR (int)
仅在它是目录时监视路径名(自 Linux 2.6.15 起)
IN_DONT_FOLLOW (int)
如果它是符号链接,则不要取消引用路径名(自 Linux 2.6.15 起)
IN_MASK_ADD (int)
如果路径名已存在,则将事件添加到该路径名的监视掩码中(而不是替换掩码)。
IN_ONESHOT (int)
监视路径名以获取一个事件,然后将其从监视列表中删除。

注意: 以上标有星号 (*) 的事件可能发生在监视目录中的文件上。

添加注释

用户贡献的注释 2 个注释

crownedgrouse
15 年前
小心使用 IN_MODIFY

许多 UNIX 编辑器(例如 'vi')在 'xxx~' 文件中工作,并且在保存或保存并关闭时将更改写入 'xxx'。

如果对 'xxx' 执行监视,则在未保存时不会发生 IN_MODIFY 事件!

在这种情况下,最好使用 IN_CLOSE_WRITE。
rogere84 at gmail dot com
10 年前
我注意到常量的值似乎丢失了。当然,这些可能会根据版本而改变,但在我的系统上,这些值如下(如果您需要的话)。

IN_ACCESS = 1
IN_MODIFY = 2
IN_ATTRIB = 4
IN_CLOSE_WRITE = 8
IN_CLOSE_NOWRITE = 16
IN_OPEN = 32
IN_MOVED_FROM = 64
IN_MOVED_TO = 128
IN_CREATE = 256
IN_DELETE = 512
IN_DELETE_SELF = 1024
IN_MOVE_SELF = 2048
IN_UNMOUNT = 8192
IN_Q_OVERFLOW = 16384
IN_IGNORED = 32768
IN_CLOSE = 24
IN_MOVE = 192
IN_ALL_EVENTS = 4095
IN_ONLYDIR = 16777216
IN_DONT_FOLLOW = 33554432
IN_MASK_ADD = 536870912
IN_ISDIR = 1073741824
IN_ONESHOT = 2147483648
To Top