phoenixgao/flysystem-webdav

Webdav Adapter for Flysystem

v0.1.0 2016-01-27 11:13 UTC

This package is auto-updated.

Last update: 2024-03-11 07:49:29 UTC


README

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

Use with league/flysystem

<?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);

Use with OneupFlysystemBundle

# 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 phoenix.x.gao@gmail.com instead of using the issue tracker.

Credits

License

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