1. Go to this page and download the library: Download thadbryson/flysystem-sync library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
thadbryson / flysystem-sync example snippets
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.