mkraemer / react-inotify
Inotify bindings for ReactPHP
Installs: 14 287
Dependents: 3
Suggesters: 1
Security: 0
Stars: 46
Watchers: 5
Forks: 14
Open Issues: 2
Requires
- php: >=5.3.0
- ext-inotify: *
- evenement/evenement: ~1.0|~2.0
- react/event-loop: ^0.2|^0.3|^0.4
This package is not auto-updated.
Last update: 2024-12-21 14:12:12 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();