Skip to content

phoenixgao/flysystem-webdav

Repository files navigation

OrangeJuicePlease Flysystem Webdav Adapter

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

SensioLabsInsight

This is yet another webdav adapter for league/flysystem.

Comparing to their official webdav adapter league/flysystem-webdav,

this uses HEAD to check file existance, so it can work with nginx with ngx_http_dav_module, which doesn't support PROPFIND, and

[TODO] replaces sabre/dav with own dav client based on guzzle http 6.

Install

Via Composer

$ composer require phoenixgao/flysystem-webdav

Usage

<?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);
# services.yml
services:
    devclient:
        class: Sabre\DAV\Client
        arguments:
            - { baseUri: http://ip:port/}

    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
<?php
$webdav = $this->getContainer()->get('storage.webdav');
$webdav->write("sample.txt", "123");

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

WebDAV adapter for flysystem, supports ngx_http_dav_module

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages