PHP Inotify函数

PHP 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 (整数) - 元数据被更改(例如权限,修改时间等)(*)

  • IN_CLOSE_WRITE (整数) - 被打开以进行写操作的文件已关闭(*)

  • IN_CLOSE_NOWRITE (整数) - 未被打开进行写操作的文件已关闭(*)

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

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

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

    • 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 (整数) - 事件队列溢出(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实例中移除现有的监视。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程