tufanbarisyildirim/react-inotify

ReactPHP 的 inotify 绑定(forked from mkraemer/react-inotify)

v1.0.0 2013-05-27 20:28 UTC

This package is not auto-updated.

Last update: 2024-09-24 08:07:48 UTC


README

React PHP 的基本 inotify 绑定。

## 安装 此库需要 PHP5.3 和 inotify PECL 扩展。 安装此库的最佳方式是通过 composer

{
    "require": {
        "tufanbarisyildirim/react-inotify": "dev-master"
    }
}

使用方法

此库提供了一个 Inotify 类,该类接受一个事件循环,以及可选的定时器间隔,用于检查 inotify 事件。初始化类后,可以使用 add() 方法将路径添加到观察路径列表中。使用 inotify 位掩码 定义要监听哪些文件系统操作。

<?php

$loop = React\EventLoop\Factory::create();
$inotify = new MKraemer\ReactInotify\Inotify($loop);

$inotify->add('/tmp/', IN_CLOSE_WRITE | IN_CREATE | IN_DELETE);
$inotify->add('/var/log/', IN_CLOSE_WRITE | IN_CREATE | IN_DELETE);

$inotify->on(IN_CLOSE_WRITE, function ($path) {
    echo 'File closed after writing: '.$path.PHP_EOL;
});

$inotify->on(IN_CREATE, function ($path) {
    echo 'File created: '.$path.PHP_EOL;
});

$inotify->on(IN_DELETE, function ($path) {
    echo 'File deleted: '.$path.PHP_EOL;
});

$loop->run();