PHP

★ A package to watch for file system changes in PHP

[AdSense-A]

Our team has released a new package called file-system-watcher. As the name implies, this package can watch changes in the file system and let you act on those changes.

Using the package

Here's a simple example that allows you to run some code when a new file gets added.

use SpatieWatcherWatch;

Watch::path($directory) ->onFileCreated(function (string $newFilePath) { // do something... }) ->start();

After calling start, the watcher will start a never-ending loop. When a file is created in the given $directory, the closure passed in onFileCreated will be executed.

There are methods for each kind of file change onFileCreated(), onFileUpdated(), onFileDeleted(), onDirectoryCreated(), onDirectoryDeleted().

Pretty simple, right?

How it works under the hood

Under the hood, this package leverages (https://github.com/paulmillr/chokidar), a popular JS library that can efficiently handle file system changes without requiring much memory or CPU.

To see a demo of the package and learn how we integrated our PHP code with a JS package, watch this fragment of a stream in which I introduced our file-system-watcher.

In closing

There are a few more options available in file-system-watcher. Head over to the readme on GitHub to learn more.

Be sure also to check out the packages our team has created previously. I'm sure there is something that you could use in your next project.

(more…)

By , ago