bitandblack/folder-watcher

Watches a folder and handles its files. This script is meant to run from your CLI.

0.4.0 2020-03-12 07:59 UTC

This package is auto-updated.

Last update: 2020-10-12 09:26:38 UTC


README

PHP from Packagist Codacy Badge Latest Stable Version Total Downloads License

Folder Watcher

Watches a folder and handles its files. This script is meant to run from your CLI.

It may be used to realize a hotfolder on your local system.

Installation

This library is made for the use with Composer. Add it to your project by running $ composer require bitandblack/folder-watcher.

Usage

Create a new object and tell it the path to the folder you want to watch and a pattern for the files you want to select:

<?php

use BitAndBlack\FolderWatcher\FolderWatcher;

$watcher = new FolderWatcher(
    '/path/to/your/folder',
    '*.txt'
);

Set a callback function to handle the files one after another:

<?php

$watcher->setCallback(static function($file) {    
    echo "Handling file $file now".PHP_EOL;
});

Start the watcher:

<?php

$watcher->watch();

Cancel the watcher

Per default the watcher is meant to run forever. You can change this by calling finishOnEmptyFolder(). It's always possible to abort by pressing key q. The script will stop after finishing the current task.

Logging

The watcher may give information about the files inside a folder and is able to pass it to the Symfony console. Set the console output object to the watcher with setOutput($consoleOutput).

Help

If you have any questions feel free to contact us under folder-watcher@bitandblack.com.