The real filesystem abstraction layer. Work easy with filesystem as never before.
- simple api
- filesystem entities as model like objects
- extendable by adapters
- copy, move files and folders inside and between different filesystems by one command
- symlink support (win/unix)
- more...
composer require sivka/filesystem
If you can't use composer
download latest release, unpack somewhere in your project and include Autoload.php from filestem-[version]
folder.
- PHP 5.6.0+
use Sivka\Filesystem as FS;
use Sivka\Filesystem\Adapter\Ftp;
$fs = new FS(); // used local adapter by default
$fs->directory('my-folder')
->copyTo('all-folders')
->rename('new-folder');
$fs->file('my-folder/1.txt')
->moveTo('new-folder')
->write('new-text')
->append('more text');
// between filesystems
// for local may be used short call
$localDir = FS::get('all-folders/new-folder');
$ftpAdapter = new Ftp([
'host' => '127.0.0.1',
'username' => 'user',
'password' => 'pass',
]);
$ftpFs = new FS($ftpAdapter);
$fptDir = $ftpFs->get('ftp-folder');
$localDir->copyTo($ftpDir, 0744)
->createFile('ftp-file.txt', 0644)
->write("hello I'm on remote.")
->moveTo($localDir)
->append("Now I'm in local");
Full documentation read here
This project is licensed under the MIT License