mkraemer/react-inotify

ReactPHP 的 Inotify 绑定

v1.1.0 2015-05-19 11:00 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:02:27 UTC


README

React PHP 提供基本的 inotify 绑定。

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

{
    "require": {
        "mkraemer/react-inotify": "1.1.0"
    }
}

用法

此库提供了一个 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();