mkraemer/react-inotify

Inotify bindings for ReactPHP

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

This package is not auto-updated.

Last update: 2022-01-22 00:51:56 UTC


README

Basic inotify bindings for React PHP.

##Install This library requires PHP5.3 and the inotify PECL extension. The best way to install this library is through composer:

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

Usage

This library provides the Inotify class which takes an event loop and optionally the timer interval in which the inotify events should be checked as constructor arguments. After initializing the class, you can use the add() method to add paths to the list of watched paths. Use the inotify bitmasks to define to which filesystem operations to listen.

<?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();