Flysystem Webdav Adapter
![Software License][ico-license]
![Coverage Status][ico-scrutinizer]
![Total Downloads][ico-downloads], (*1)
, (*2)
This is yet another webdav adapter for league/flysystem., (*3)
Comparing to their official webdav adapter league/flysystem-webdav,, (*4)
this uses HEAD to check file existance, so it can work with nginx with ngx_http_dav_module, which doesn't support PROPFIND, and, (*5)
[TODO] replaces sabre/dav with own dav client based on guzzle http 6., (*6)
Install
Via Composer, (*7)
``` bash
$ composer require phoenixgao/flysystem-webdav, (*8)
## Usage
### Use with [league/flysystem](https://github.com/thephpleague/flysystem)
``` php
<?php
use Sabre\DAV\Client;
use League\Flysystem\Filesystem;
use OrangeJuice\Flysystem\WebDAV\WebDAVAdapter;
$client = new Client($settings);
$adapter = new WebDAVAdapter($client);
$flysystem = new Filesystem($adapter);
``` yml, (*9)
services.yml
services:
devclient:
class: Sabre\DAV\Client
arguments:
- { baseUri: http://ip:port/}, (*10)
oneup_flysystem.adapter.webdav:
class: OrangeJuice\Flysystem\WebDAV\WebDAVAdapter
arguments: ['', '']
config.yml
oneup_flysystem:
adapters:
webdav_adapter:
webdav:
client: devclient
filesystems:
webdav:
adapter: webdav_adapter
alias: storage.webdav, (*11)
``` php
<?php
$webdav = $this->getContainer()->get('storage.webdav');
$webdav->write("sample.txt", "123");
Change log
Please see CHANGELOG for more information what has changed recently., (*12)
Testing
bash
$ composer test, (*13)
Contributing
Please see CONTRIBUTING and CONDUCT for details., (*14)
Security
If you discover any security related issues, please email phoenix.x.gao@gmail.com instead of using the issue tracker., (*15)
Credits
License
The MIT License (MIT). Please see License File for more information., (*16)