sivka / filesystem
v1.0.2
2019-02-25 06:21 UTC
Requires
- php: >=5.6.0
This package is auto-updated.
Last update: 2025-04-25 09:00:29 UTC
README
The real filesystem abstraction layer. Work easy with filesystem as never before.
Features
- 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...
Installation
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.
Requirements
- PHP 5.6.0+
Example
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
License
This project is licensed under the MIT License