PHPackages                             ozdemir/vuefinder-php - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. ozdemir/vuefinder-php

ActiveLibrary[File &amp; Storage](/categories/file-storage)

ozdemir/vuefinder-php
=====================

Vuefinder Php Library.

4.0.3(6mo ago)2411.5k↑388.5%15[2 issues](https://github.com/n1crack/vuefinder-php/issues)MITPHP

Since Sep 24Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/n1crack/vuefinder-php)[ Packagist](https://packagist.org/packages/ozdemir/vuefinder-php)[ RSS](/packages/ozdemir-vuefinder-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (19)Used By (0)

VueFinder PHP 4.0
=================

[](#vuefinder-php-40)

**Modern PHP Backend for VueFinder File Manager**

[![PHP Version](https://camo.githubusercontent.com/d4b5fa4adf514144779a7864904c5e15236c0e798635240c7f6ce9a455657b80/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e302532422d626c75652e737667)](https://php.net)[![License](https://camo.githubusercontent.com/8bb50fd2278f18fc326bf71f6e88ca8f884f72f179d3e555e20ed30157190d0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e2e737667)](LICENSE)

VueFinder is a powerful, modern file management system that provides a beautiful web interface for managing files and folders. This PHP backend powers VueFinder, giving you complete control over file operations like upload, download, rename, move, copy, archive, and more.

Whether you're building a content management system, a file sharing platform, or need file management capabilities in your application, VueFinder PHP provides a robust, production-ready solution that works with any PHP framework or plain PHP.

What is VueFinder?
------------------

[](#what-is-vuefinder)

VueFinder is a full-featured file manager that allows users to:

- Browse and organize files and folders
- Upload files with drag &amp; drop support
- Search files with advanced filters
- Edit, rename, move, and copy files
- Create and extract ZIP archives
- Preview files directly in the browser
- Generate public URLs for files
- And much more!

This PHP package is the backend API that handles all file operations. It's designed to work seamlessly with the VueFinder frontend, but can also be used standalone for building custom file management solutions.

Why Choose VueFinder PHP?
-------------------------

[](#why-choose-vuefinder-php)

- **Easy to Use** - Get started in minutes with simple setup
- **Framework Agnostic** - Works with Laravel, Symfony, or plain PHP
- **Production Ready** - Built with type safety and error handling
- **Flexible Storage** - Support for local files, cloud storage, and more
- **Complete API** - 17 actions covering all file management needs
- **Modern Architecture** - Clean, maintainable, and testable code
- **CDN Support** - Built-in URL resolver for CDN integration
- **Secure** - Private folder exclusions and access control

Installation
------------

[](#installation)

Install via Composer:

```
composer require ozdemir/vuefinder
```

### Requirements

[](#requirements)

- PHP 8.0 or higher
- Composer
- League Flysystem 3.x
- Symfony HTTP Foundation 6.x

Quick Start
-----------

[](#quick-start)

### Basic Setup (Plain PHP)

[](#basic-setup-plain-php)

The simplest way to get started:

```
require 'vendor/autoload.php';

use Ozdemir\VueFinder\VueFinder;
use League\Flysystem\Local\LocalFilesystemAdapter;

// Create VueFinder instance with your storage
$vueFinder = new VueFinder([
    'local' => new LocalFilesystemAdapter(__DIR__ . '/uploads'),
]);

// Initialize with configuration
$vueFinder->init([
    'publicLinks' => ['local://public' => 'https://example.com'],
]);

// That's it! VueFinder will handle requests automatically:
// GET  /index.php?q=index&path=local://uploads
// POST /index.php?q=upload&path=local://uploads
```

### Framework Integration (Laravel, Symfony, etc.)

[](#framework-integration-laravel-symfony-etc)

For framework integration, use the builder pattern:

```
use Ozdemir\VueFinder\VueFinderBuilder;
use Ozdemir\VueFinder\Actions\VueFinderActionFactory;
use League\Flysystem\Local\LocalFilesystemAdapter;

// One-line setup!
$core = VueFinderBuilder::create(
    ['local' => new LocalFilesystemAdapter(__DIR__ . '/uploads')],
    ['publicLinks' => ['local://public' => 'https://example.com']]
);

// In your controller:
$factory = new VueFinderActionFactory($core);
$action = $factory->setRequest($request)->create('index');
return $action->execute();
```

Available Actions
-----------------

[](#available-actions)

VueFinder PHP provides a complete set of file management actions:

ActionDescription`index`List files and directories in a folder`search`Search files with filters and size categorization`upload`Upload files with validation`delete`Delete files or folders (with recursive support)`rename`Rename files and folders`move`Move files/folders to new locations`copy`Copy files/folders`create-folder`Create new directories`create-file`Create new text files`download`Download files with proper headers`preview`Preview files in browser`save`Save file content`archive`Create ZIP archives from files/directories`unarchive`Extract ZIP archivesAll actions are implemented as separate classes, making the codebase maintainable and easy to extend.

Configuration
-------------

[](#configuration)

### URL Configuration

[](#url-configuration)

Configure public URLs for your files, including CDN support:

```
$config = [
    'storages' => [
        'local' => [
            'publicBaseUrl' => 'https://cdn.example.com',
            'publicPrefix' => 'uploads',
        ],
        's3' => [
            'publicBaseUrl' => 'https://my-bucket.s3.amazonaws.com',
        ],
    ],
    'publicExclusions' => ['local://private'], // Exclude private folders
];

$core = VueFinderBuilder::create($storages, $config);
```

### Storage Configuration

[](#storage-configuration)

VueFinder supports multiple storage backends through Flysystem:

```
use League\Flysystem\Local\LocalFilesystemAdapter;
use League\Flysystem\AwsS3V3\AwsS3V3Adapter;

$storages = [
    'local' => new LocalFilesystemAdapter(__DIR__ . '/uploads'),
    's3' => new AwsS3V3Adapter($s3Client, 'my-bucket'),
    // Add more storage adapters as needed
];
```

Examples
--------

[](#examples)

### Example: File Upload Endpoint

[](#example-file-upload-endpoint)

```
$core = VueFinderBuilder::create($storages, $config);
$factory = new VueFinderActionFactory($core);

// Handle file upload
$action = $factory->setRequest($request)->create('upload');
$response = $action->execute();
```

### Example: List Files

[](#example-list-files)

```
// GET /api/files?q=index&path=local://documents
$action = $factory->setRequest($request)->create('index');
return $action->execute();
```

### Example Laravel Project

[](#example-laravel-project)

For a complete Laravel implementation example, check out the [VueFinder Laravel API](https://github.com/n1crack/vuefinder-api-php) project. This example demonstrates how to integrate VueFinder PHP into a Laravel application with REST API endpoints.

Migration from v3
-----------------

[](#migration-from-v3)

VueFinder PHP 4.0 maintains API compatibility with v3. The query parameter method (`?q=action`) continues to work as before, ensuring smooth migration.

Contributing
------------

[](#contributing)

Contributions are welcome! Please ensure your code follows clean architecture principles and includes appropriate tests.

License
-------

[](#license)

MIT License - see [LICENSE](LICENSE) file for details.

Learn More
----------

[](#learn-more)

For more information about VueFinder, visit [vuefinder.ozdemir.be](https://vuefinder.ozdemir.be).

---

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance66

Regular maintenance activity

Popularity39

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.7% 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

Every ~71 days

Recently: every ~112 days

Total

17

Last Release

191d ago

Major Versions

1.0.9 → 2.0.02024-01-30

2.0.2 → 3.0.02024-08-16

3.0.0 → 4.0.02025-11-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/0124f2d35be25c3386c1b0614c41112c20313f7b4acc46a502b475d5f6308403?d=identicon)[n1crack](/maintainers/n1crack)

---

Top Contributors

[![n1crack](https://avatars.githubusercontent.com/u/712404?v=4)](https://github.com/n1crack "n1crack (59 commits)")[![MLDMoritz](https://avatars.githubusercontent.com/u/46711821?v=4)](https://github.com/MLDMoritz "MLDMoritz (2 commits)")[![DreamlandOwO](https://avatars.githubusercontent.com/u/90253151?v=4)](https://github.com/DreamlandOwO "DreamlandOwO (1 commits)")[![hughsaffar](https://avatars.githubusercontent.com/u/10440022?v=4)](https://github.com/hughsaffar "hughsaffar (1 commits)")

### Embed Badge

![Health badge](/badges/ozdemir-vuefinder-php/health.svg)

```
[![Health](https://phpackages.com/badges/ozdemir-vuefinder-php/health.svg)](https://phpackages.com/packages/ozdemir-vuefinder-php)
```

###  Alternatives

[league/flysystem-aws-s3-v3

AWS S3 filesystem adapter for Flysystem.

1.6k263.6M790](/packages/league-flysystem-aws-s3-v3)[vich/uploader-bundle

Ease file uploads attached to entities

1.9k25.9M116](/packages/vich-uploader-bundle)[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.3M74](/packages/unisharp-laravel-filemanager)[league/flysystem-sftp-v3

SFTP filesystem adapter for Flysystem.

6129.6M91](/packages/league-flysystem-sftp-v3)[yii2-starter-kit/yii2-file-kit

Yii2 file upload and storage kit

151216.8k6](/packages/yii2-starter-kit-yii2-file-kit)[azure-oss/storage-blob-flysystem

Flysystem adapter for Azure Storage PHP

29936.0k10](/packages/azure-oss-storage-blob-flysystem)

PHPackages © 2026

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