Author Build Status Software License Packagist Version Total Downloads

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


  • 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 don't support them, like AWS S3.
  • Support third party plugins.
  • Make it easy to test your filesystem interactions.
  • Support streams for big file handling.


composer require league/flysystem


Check out the documentation

Community Integrations

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



  • Ftp
  • Local
  • NullAdapter

Officially Supported

Community Supported

Caching (https://github.com/thephpleague/flysystem-cached-adapter)

  • Adapter (using another Flysystem adapter)
  • Memcached
  • Memory (array caching)
  • Redis (through Predis)
  • Stash


If you discover any security related issues, please email info@frankdejonge.nl instead of using the issue tracker.

For enterprise

Available as part of the Tidelift Subscription.

The maintainers of Flysystem and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.


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


Abstraction for local and remote filesystems

Flysystem Info

⭐ Stars 12328
🔗 Source Code github.com
🕒 Last Update 5 months ago
🕒 Created 9 years ago
🐞 Open Issues 36
➗ Star-Issue Ratio 342
😎 Author thephpleague