2017 © Pedro Peláez
 

library flysystem-sync

Flysystem plugin to sync directories.

image

thadbryson/flysystem-sync

Flysystem plugin to sync directories.

  • Friday, March 23, 2018
  • by thadbryson
  • Repository
  • 3 Watchers
  • 14 Stars
  • 2,072 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 4 Versions
  • 55 % Grown

The README.md

Flysystem Sync

About

This is a wrapper for Flysystem version 2 and 3. Note that v1.* is a plugin for Flysystem v1.*., (*1)

Installation

Use Composer:, (*2)

"thadbryson/flysystem-sync": ">=2.0"

Supports PHP v7.2 and up., (*3)

It helps you sync 2 directories at a time. There are two directory types., (*4)

Master

Contents of this directory are moved to Slave for writing and updating. If this folder has a path that Slave doesn't then the path on Slave is deleted., (*5)

Slave

Target directory. Where things are moved to or deleted from., (*6)

How To

Here is some example code to set everything up., (*7)


use TCB\FlysystemSync\Sync; use League\Flysystem\Filesystem; use League\Flysystem\Local\LocalFilesystemAdapter as Adapter; // Setup file system. $master = new Filesystem(new Adapter(__DIR__ . '/sync-test/master')); $slave = new Filesystem(new Adapter(__DIR__ . '/sync-test/slave')); // Create the Sync object. Use root directory. That '/' variable can be any subpath directory. $sync = new Sync($master, $slave, $config = [], $directory = '/'); // Here is how to actually sync things. // Add all folders and files ON MASTER and NOT ON SLAVE. $sync->syncWrites(); // Delete all folders and files NOT ON MASTER and on SLAVE. $sync->syncDeletes(); // Update all folders and files that are on both MASTER and SLAVE. $sync->syncUpdates(); // This will do ->syncWrites(), ->syncDeletes(), and ->syncUpdates(). $sync->sync(); // And you can get what all these paths are going to be separately. $paths = $sync->getUtil()->getWrites(); // On Master but not on Slave. $paths = $sync->getUtil()->getDeletes(); // On Slave but not on Master. $paths = $sync->getUtil()->getUpdates(); // On both Master and Slave but with different properties.

Example Path Array

array(2) {
    'create-dir/' => \League\Flysystem\DirectoryAttributes,
    'create-dir/3.php' => \League\Flysystem\FileAttributes
}

That's an example from a var_dump() of what a path will give you., (*8)

The Versions

23/03 2018

dev-master

9999999-dev

Flysystem plugin to sync directories.

  Sources   Download

The Requires

 

The Development Requires

06/05 2017

dev-develop

dev-develop

Flysystem plugin to sync directories.

  Sources   Download

The Requires

 

The Development Requires

06/05 2017

v1.0.1

1.0.1.0

Flysystem plugin to sync directories.

  Sources   Download

The Requires

 

The Development Requires

01/04 2015

v1.0.0

1.0.0.0

Flysystem plugin to sync directories.

  Sources   Download

The Requires