Skip to content

pdsinterop/flysystem-nextcloud

Repository files navigation

Flysystem Nextcloud

Project stage: Development License Latest Version Maintained

PDS Interop standard-readme compliant keep-a-changelog compliant

Flysystem adapter for the Nextcloud filesystem

Table of Contents

Background

This project is part of the PHP stack of projects by PDS Interop. It is used by the Solid-Nextcloud app.

As the functionality seemed useful for other projects, it was implemented as a separate package.

Installation

The advised install method is through composer:

composer require pdsinterop/flysystem-nextcloud

Usage

This package offers features to interact with the Filesystem provided by Nextcloud through the Flysystem API.

To use the adapter, instantiate it and add it to a Flysystem filesystem:

<?php
/** @var IRootFolder $rootFolder */
$folder = $rootFolder->getUserFolder('userId')->get('/some/directory');

// Create the Nextcloud Adapter
$adapter = new \Pdsinterop\Flysystem\Adapter\Nextcloud($folder);

// Create Flysystem as usual, adding the Adapter
$filesystem = new \League\Flysystem\Filesystem($adapter);

// Read the contents of a file
$content = $filesystem->read('/some.file');

Develop

  • Do not forget to install the required dependencies using composer.

  • Most of the logic here involves Nextcloud and/or FlySystem. You'll want to familiarise yourself with their workings.

Contribute

Questions or feedback can be given by opening an issue on GitHub.

All PDS Interop projects are open source and community-friendly. Any contribution is welcome! For more details read the contribution guidelines.

All PDS Interop projects adhere to the Code Manifesto as its code-of-conduct. Contributors are expected to abide by its terms.

There is a list of all contributors on GitHub.

For a list of changes see the CHANGELOG or the GitHub releases page.

License

All code created by PDS Interop is licensed under the MIT License.