/synchronizer-files

Synchronize local and remote filesystems

Primary LanguagePHPISC LicenseISC

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();
$synchronizer->synchronize(false); // Do not preserve obsolete files

Installation

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

Requirements

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

Contributors

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

Thanks to the contributors:

  • Christian Neff (secondtruth)