Skip to content

RyanThompson/flysystem

 
 

Repository files navigation

League\Flysystem

Author Build Status Coverage Status Quality Score Software License Packagist Version Total Downloads

SensioLabsInsight

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 league/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.

About

Abstraction for local and remote filesystems

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%