maximal / file-system-watch
一个无依赖的基于轮询的同步文件系统监控器,适用于PHP。
1.0.0
2023-09-18 15:47 UTC
Requires
- php: >=8.1
README
这个库是一个简单的基于轮询的同步文件系统监控器,适用于PHP,无任何依赖。
使用示例
use Maximal\FileSystem\Watch\EventType; use Maximal\FileSystem\Watch\Watcher; Watcher::create(__DIR__) // Poll the file system every second (1’000’000 microseconds) ->setPollInterval(1_000_000) ->onFileAdded(static function (string $path) { echo 'File added: ', $path, PHP_EOL; }) ->onFileChanged(static function (string $path, array $stat) { echo 'File changed: ', $path, ' @ '; echo (new DateTime('@' . $stat['mtime']))->format('c'), PHP_EOL; }) ->onFileDeleted(static function (string $path) { echo 'File deleted: ', $path, PHP_EOL; }) ->onDirectoryAdded(static function (string $path) { echo 'Directory added: ', $path, PHP_EOL; }) ->onDirectoryChanged(static function (string $path, array $stat) { echo 'Directory changed: ', $path, ' @ '; echo (new DateTime('@' . $stat['mtime']))->format('c'), PHP_EOL; }) ->onDirectoryDeleted(static function (string $path) { echo 'Directory deleted: ', $path, PHP_EOL; }) // General event handler ->onAnyEvent(static function (EventType $type, string $path, array $stat) { echo 'Event `', $type->value, '`: ', $path, ' @ '; echo (new DateTime('@' . $stat['mtime']))->format('c'), PHP_EOL; }) ->start();
运行它
php example.php <directory>
联系作者
- 网站: https://maximals.ru (俄语)
- Twitter: https://twitter.com/almaximal
- Telegram: https://t.me/maximal
- Sijeko公司: https://sijeko.ru (网络、移动、桌面应用程序开发及平面设计)
- 个人GitHub: https://github.com/maximal
- 公司GitHub: https://github.com/sijeko