Synchronize local and remote filesystems
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

FlameCore FilesSynchronizer

Build Status Scrutinizer Coverage License

This library makes it easy to synchronize local and remote filesystems.

FilesSynchronizer was developed as backend for the deployment and testing tool Seabreeze. It is using our self-developed Synchronizer library as foundation.

Getting Started

Include the vendor autoloader and use the classes:

namespace Acme\MyApplication;

use FlameCore\Synchronizer\Files\FilesSynchronizer;
use FlameCore\Synchronizer\Files\Location\LocalFilesLocation;

require 'vendor/autoload.php';

Create your Source and Target objects:

$source = new LocalFilesLocation(['dir' => $sourcePath]);
$target = new LocalFilesLocation(['dir' => $targetPath]);

Create the FilesSynchronizer and assign the Source and the Target:

$synchronizer = new FilesSynchronizer($source, $target);
$synchronizer->observe($observer); // optionally set an EventObserver object

Now start syncing your files:

$synchronizer->synchronize(false); // Do not preserve obsolete files


Install via Composer

Install Composer if you don't already have it present on your system.

To install the library, run the following command and you will get the latest development version:

$ php composer.phar require flamecore/synchronizer-files:dev-master


  • You must have at least PHP version 5.4 installed on your system.


If you want to contribute, please see the CONTRIBUTING file first.

Thanks to the contributors:

  • Christian Neff (secondtruth)