Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

PHP wrapper for rclone. Supports Local disk, Dropbox, FTP, SFTP, Google Drive, MEGA, S3 (any compatible) and others. Progress support.

License

NotificationsYou must be signed in to change notification settings

verseles/flyclone

Repository files navigation

PHP wrapper forrclone

GitHub Actions Workflow Status

supportslocal disk,dropbox,ftp,sftp,google drive,mega,s3,b2 (any compatible) and others can be easily added via pr.

progress support.

installation

composer require verseles/flyclone

usage

list local files
useVerseles\Flyclone\Rclone;useVerseles\Flyclone\Providers\LocalProvider;$left_side =newLocalProvider('mydisk');// nickname$rclone =newRclone($left_side);var_dump($rclone->ls('/home/'));// returns array
list files from mega server
useVerseles\Flyclone\Rclone;useVerseles\Flyclone\Providers\MegaProvider;$left_side =newMegaProvider('myserver',['user'=>'johnivy@pear.com','pass'=> Rclone::obscure('applesux')]);$rclone =newRclone($left_side);var_dump($rclone->ls('/docs'));// returns array
copy from local disk to mega
useVerseles\Flyclone\Rclone;useVerseles\Flyclone\Providers\LocalProvider;useVerseles\Flyclone\Providers\MegaProvider;$left_side =newLocalProvider('mydisk');// name$right_side =newMegaProvider('myremote',['user'=>'your@email.com','pass'=> Rclone::obscure('4ppl35u*')]);$rclone =newRclone($left_side,$right_side);$rclone->copy('/home/appleinc/index.html','/docs');// always true, otherwise throws error
move from local disk to the same local disk
useVerseles\Flyclone\Rclone;useVerseles\Flyclone\Providers\LocalProvider;$samedisk =newLocalProvider('mydisk');// name$rclone =newRclone($samedisk);$rclone->copy('/home/appleinc/index.html','/home/www/');// always true, otherwise throws error
copy to dropbox with progress every sec
useVerseles\Flyclone\Rclone;useVerseles\Flyclone\Providers\LocalProvider;useVerseles\Flyclone\Providers\DropboxProvider;$left_side =newLocalProvider('mydisk');// nickname$right_side =newDropboxProvider('myremote', ['client_id'     =>'your_dropbox_client_id','client_secret' =>'your_dropbox_client_secret','token'         =>'your_dropbox_token',]);$rclone =newRclone($left_side,$right_side);$rclone->copy('/home/appleinc/index.html','/home/www/', [],staticfunction ($type,$buffer)use ($rclone) {var_dump($rclone->getProgress());});

tips - read before use.

  • of course, you need known howrclone works.
  • rclone class and providers classes always support any flag listed atrclone documentation, often as 3rd argument. but
  • any flag, parameter or option passed like--parameter-here, in this lib is a array like['parameter-here'='value', 'max-depth' => 3, 'any'=>'1']
  • if you inform only one provider ('left side'), in commands likecopy/move we assume'right side' as the same'left side' provider. which means a copying/moving to the same disk.
  • we don't have a great doc for now so open a issue always you have a doubt. remember to be descriptful.

wip to-do

  • add progress support
  • add timeout support
  • add more commands
  • add tests
    • use docker and docker compose for tests
  • send meta details like file id in some storage system like google drive

testing

install docker and docker compose, then run:

cp .env.example .envmake

there are others tests (test_all, test_gdrive, etc), but you'll need fill.env file properly.

contribution

you know how to do that.

license

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International

About

PHP wrapper for rclone. Supports Local disk, Dropbox, FTP, SFTP, Google Drive, MEGA, S3 (any compatible) and others. Progress support.

Topics

Resources

License

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp