PHPackages                             zdenekgebauer/dosiero - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. zdenekgebauer/dosiero

ActiveLibrary

zdenekgebauer/dosiero
=====================

PHP server connector for Dosiero file manager

0.0.1(4y ago)023WTFPLPHPPHP &gt;=8.0

Since Jul 22Pushed 4y ago1 watchersCompare

[ Source](https://github.com/zdenekgebauer/dosiero-php)[ Packagist](https://packagist.org/packages/zdenekgebauer/dosiero)[ RSS](/packages/zdenekgebauer-dosiero/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (4)Versions (2)Used By (0)

Dosiero PHP
===========

[](#dosiero-php)

PHP server connector for Dosiero file manager

Usage
-----

[](#usage)

1. Create entry point i.e.  by this example:

```
declare(strict_types=1);

/**
 * entry point of server part of connector
 *
 * always expects:
 * $_GET['action'] - requested action. Some actions requires additional parameters - see bellow
 *
 * optionally expects:
 * $_GET['path'] - current directory path relative to base dir, without starting and leading slash
 *
 * returns JSON with properties:
 * msg - error message
 * folders - tree of folders. Returned if action change folders
 * files - list of folders and files in given path. Returned if action change files in current path
 *
 * action "folders"
 * - returns property "folders" with all directories as array of objects. Each object represents one folder
 *   and contains array "subfolders" with nested folders and files
 *
 * action "files"
 * - returns property "files" with folders and files in current path
 *
 * action "mkdir" create new folder
 * - require $_POST['folder'] with name of new folder
 * - returns property "folders" with all directories
 *
 * action "delete" delete file or folder in current path
 * - require $_POST['files'] with array of names of files or folders
 *
 * action "rename" rename file or folder in current path
 * - require $_POST['old'] with name of file or folder
 * - require $_POST['new'] with new name of file or folder
 *
 * action "upload" upload files
 * - require standard $_FILES array
 *
 * action "copy" copy files and or folders to another folder. Copy to another storage is not supported yet
 * - require $_POST['files'] with array of names of files or folders
 * - require $_POST['target_path'] with path to target folder
 * - require $_POST['target_storage'] with name of target storage
 *
 * action "move" moves file in current path to another folder
 * - require $_POST['files'] with array of names of files or folders
 * - require $_POST['target_path'] with path to target folder
 * - require $_POST['target_storage'] with name of target storage
 */

namespace Dosiero;

// uncomment for debugging
// error_reporting(E_ALL);
// ini_set('display_errors', 'on');

use Exception;
use Dosiero\Local\LocalStorage;

require_once __DIR__ . '/vendor/autoload.php';

$config = new Config();

// access control with Basic authentication
// $config->requireBasicAuth('user', 'password');
// access control with session variable
// $config->requireSession('session_variable_name', 'session_variable_value');
// access control by IP address
// $config->setAllowedIp(['127.0.0.1']);

// set at least one file storage
$localStorage = new LocalStorage('LOCAL') ;
$localStorage->setOption(LocalStorage::OPTION_BASE_DIR, __DIR__ . '/data');
$localStorage->setOption(LocalStorage::OPTION_BASE_URL, 'https://yourserver/data');
$localStorage->setOption(LocalStorage::OPTION_MODE_DIRECTORY, 0775);
$localStorage->setOption(LocalStorage::OPTION_MODE_FILE, 0664);

try {
    $connector = new Connector($config);
    $connector->addStorage($localStorage);
    $response = $connector->handleRequest();
} catch (AccessForbiddenException $exception) {
    $response = new Response(403, $exception->getMessage());
} catch (StorageException $exception) {
    $response = new Response(400, $exception->getMessage());
} catch (InvalidRequestException $exception) {
    $response = new Response(400, $exception->getMessage());
} catch (Exception $exception) {
    $response = new Response(500, 'unexpected problem: ' . $exception->getMessage());
}

// if is called from different domain, set CORS
// $response->allowAccessFromDomain('*');
// or $response->allowAccessFromDomain('https://otherdomain/');
$response->sendOutput();
```

2. Do not forget set access control (basic auth, session or IP address)
3. Set at least one file storage
4. Set url of entry point in Dosiero client side configuration

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1753d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/36ef4dac7600d246b5d5bf20592da1f536607276921f31000886c6350d39f278?d=identicon)[zdenekgebauer](/maintainers/zdenekgebauer)

---

Top Contributors

[![zdenekgebauer](https://avatars.githubusercontent.com/u/6378486?v=4)](https://github.com/zdenekgebauer "zdenekgebauer (7 commits)")

###  Code Quality

TestsCodeception

### Embed Badge

![Health badge](/badges/zdenekgebauer-dosiero/health.svg)

```
[![Health](https://phpackages.com/badges/zdenekgebauer-dosiero/health.svg)](https://phpackages.com/packages/zdenekgebauer-dosiero)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
