PHP code example of elgigi / flysystem-useful-adapters

1. Go to this page and download the library: Download elgigi/flysystem-useful-adapters 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/ */

    

elgigi / flysystem-useful-adapters example snippets


use ElGigi\FlysystemUsefulAdapters\FallbackAdapter;
use League\Flysystem\Filesystem;

// First argument is the primary adapter, the following ones are fallbacks (tried in order)
$adapter = new FallbackAdapter($primaryAdapter, $fallbackAdapter, $anotherFallbackAdapter);

$fs = new Filesystem($adapter);

use ElGigi\FlysystemUsefulAdapters\IgnoreFilesystemAdapter;
use League\Flysystem\Filesystem;
use League\Flysystem\Local\LocalFilesystemAdapter;

$inner = new LocalFilesystemAdapter('/path');

// Read rules from .docignore files
$adapter = new IgnoreFilesystemAdapter($inner, '.docignore');

// Several ignore filenames can be provided (rules are concatenated in order)
$adapter = new IgnoreFilesystemAdapter($inner, ['.docignore', '.exportignore']);

$fs = new Filesystem($adapter);

$adapter = new IgnoreFilesystemAdapter($inner, '.docignore', strict: false);

use ElGigi\FlysystemUsefulAdapters\LogAdapter;
use League\Flysystem\Filesystem;

// $logger is any PSR-3 Psr\Log\LoggerInterface implementation
$adapter = new LogAdapter($innerAdapter, $logger);

// The logger can also be injected later via setLogger()
$adapter = new LogAdapter($innerAdapter);
$adapter->setLogger($logger);

$fs = new Filesystem($adapter);

use ElGigi\FlysystemUsefulAdapters\ReadWriteAdapter;
use League\Flysystem\Filesystem;

$adapter = new ReadWriteAdapter(
    readers: [$readReplicaAdapter],
    writers: [$primaryAdapter],
);

$fs = new Filesystem($adapter);

use ElGigi\FlysystemUsefulAdapters\RetryAdapter;
use League\Flysystem\Filesystem;

// Retry up to 3 times, waiting 1000 ms between attempts
$adapter = new RetryAdapter($innerAdapter, time: 1000, retry: 3);

// Exponential backoff: 1000 ms, then 2000 ms between attempts
$adapter = new RetryAdapter($innerAdapter, time: 1000, retry: 3, multiplier: 2.0);

$fs = new Filesystem($adapter);