delboy1978uk/flysystem

Filesystem abstraction: Many filesystems, one API. Refactored for Legacy PHP 5.3


Keywords
filesystem, abstraction, storage, s3, WebDAV, cloud, aws, remote, files, sftp, rackspace, ftp, Cloud Files, dropbox, filesystems, file systems, copy.com
License
MIT

Documentation

League\Flysystem for Legacy PHP

Build Status Code Coverage Scrutinizer Code Quality

Slowly upgrading a legacy site? This is a fork which I refactored to use PHP5.3. Upgrade your site though! Instructions are the same but use array() and not []

Flysystem is a filesystem abstraction which allows you to easily swap out a local filesystem for a remote one.

Goals

  • Have a generic API for handling common tasks across multiple file storage engines.
  • Have consistent output which you can rely on.
  • Integrate well with other packages/frameworks.
  • Be cacheable.
  • Emulate directories in systems that support none, like AwsS3.
  • Support third party plugins.
  • Make it easy to test your filesystem interactions.
  • Support streams for big file handling.

Installation

Through Composer, obviously:

composer require delboy1978uk/flysystem

You can also use Flysystem without using Composer by registering an autoloader function:

spl_autoload_register(function($class) {
    $prefix = 'League\\Flysystem\\';

    if ( ! substr($class, 0, 17) === $prefix) {
        return;
    }

    $class = substr($class, strlen($prefix));
    $location = __DIR__ . 'path/to/flysystem/src/' . str_replace('\\', '/', $class) . '.php';

    if (is_file($location)) {
        require_once($location);
    }
});

Integrations

Want to get started quickly? Check out some of these integrations:

Adapters

Caching

  • Memory (array caching)
  • Redis (through Predis)
  • Memcached
  • Adapter
  • Stash

Documentation

Check out the documentation

Security

If you discover any security related issues, please email frenky@frenky.net instead of using the issue tracker.

Enjoy

Oh and if you've come down this far, you might as well follow me on twitter.