PHPackages                             redkite-labs/redkite-labs-elfinder-bundle - 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. redkite-labs/redkite-labs-elfinder-bundle

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

redkite-labs/redkite-labs-elfinder-bundle
=========================================

The ElFinderBundle encapsulates the elFinder file manager to be used in Symfony2.

v1.1.6(12y ago)11.8k1MITPHPPHP &gt;=5.3.3

Since Aug 18Pushed 11y ago2 watchersCompare

[ Source](https://github.com/redkite-labs/ElFinderBundle)[ Packagist](https://packagist.org/packages/redkite-labs/redkite-labs-elfinder-bundle)[ Docs](http://redkite-labs.com)[ RSS](/packages/redkite-labs-redkite-labs-elfinder-bundle/feed)WikiDiscussions master Synced 4d ago

READMEChangelogDependencies (1)Versions (15)Used By (1)

ElFinderBundle
==============

[](#elfinderbundle)

The ElFinderBundle encapsulates the elFinder file manager to be used in Symfony2.

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

[](#installation)

Clone this bundle in the vendor/bundles/RedKiteLabs directory:

```
git clone git://github.com/RedKiteLabs/ElFinderBundle.git vendor/bundles/RedKiteLabs/ElFinderBundle

```

**OR (if you're using deps file)**

Add the following to the deps file:

```
[ElFinderBundle]
    git=git://github.com/RedKiteLabs/ElFinderBundle.git
    target=bundles/RedKiteLabs/ElFinderBundle

```

Now use the vendors script to clone the newly added repositories into your project:

```
php bin/vendors install

```

Configure the ElFinderBundle
----------------------------

[](#configure-the-elfinderbundle)

Open the AppKernel configuration file and add the bundle to the registerBundles() method:

```
public function registerBundles()
{
    $bundles = array(
        ...
        new RedKiteLabs\ElFinderBundle\RedKiteLabsElFinderBundle(),
    )
}

```

Register the ElFinderBundle namespaces in `app/autoload.php`:

```
$loader->registerNamespaces(array(
    ...
    'RedKiteLabs'                     => __DIR__.'/../vendor/bundles',
));

```

Import the routing configuration into the routing.yml file:

```
_RedKiteLabsElFinderBundle:
    resource: "@RedKiteLabsElFinderBundle/Resources/config/routing.yml"

```

Register the bundle into the Assetic bundles in config.yml:

```
# Assetic Configuration
assetic:
    bundles: [ "RedKiteLabsElFinderBundle" ]

```

Initialize submodules grabbing the ElFinder vendor library. Move inside the ElFinder folder than give this commands:

```
git submodule init
git submodule update

```

To complete the bundle configuration you must install assets as follows:

```
app/console assets:install web
app/console assetic:dump

```

Using the object
----------------

[](#using-the-object)

RedKiteLabsElFinderBundle provides a ready to use controller to display the ElFinder:

```
http://[yoursite]/al_showElFinder

```

Customize elFinder
------------------

[](#customize-elfinder)

The default connector has a very minimal configuration, so you would like to configure it on your needs. The elFinder object is loaded into the show.html.twig template, where all the required assets and initial jquery script are added. To change the configuration you shoud create a new twig template that extends the base one:

```
/path/to/your/twig/template

{% extends 'RedKiteLabsElFinderBundle:ElFinder:show.html.twig' %}

```

This template has four blocks you may override:

```
{% block stylesheet_files %}{% endblock %}

{% block javascript_files %}{% endblock %}

{% block init_script %}{% endblock %}

{% block elfinder_html %}{% endblock %}

```

The names speak themselves, so if you need to change the init script, you just have to override the init\_script block:

```
{% block init_script %}

    $(document).ready(function() {
        $('').dialogelfinder({
                url : '/al_elFinderMediaConnect',
                lang : 'en',
                width : 840,
                destroyOnClose : true
        }).dialogelfinder('instance');
    });

{% endblock %}

```

Read the elFinder documentation to learn more on the available options

The connector
-------------

[](#the-connector)

The url option declares the connector to use. It is the class where are defined the elFinder options, like the folder where are saved the files and so on. In the example above the al\_elFinderMediaConnect route is called and the action implementstion might be:

```
public function connectMediaAction()
{
    $connector = $this->container->get('el_finder_media_connector');
    $connector->connect();
}

```

You may notice that the connector has been injected into the Dependency Injector Container, and its implementation is:

```

    Path\To\RedKiteLabsElFinderMediaConnector

```

The class RedKiteLabsElFinderMediaConnector is instantiated into the DIC. Follows a sample of its implementation:

```
namespace Path\To\RedKiteLabsElFinderMediaConnector;

use RedKiteLabs\ElFinderBundle\Core\Connector\RedKiteLabsElFinderBaseConnector;

class RedKiteLabsElFinderMediaConnector extends RedKiteLabsElFinderBaseConnector
{
    protected function configure()
    {
        $request = $this->container->get('request');

        $options = array(
            'roots' => array(
                array(
                    'driver'        => 'LocalFileSystem',   // driver for accessing file system (REQUIRED)
                    'path'          => 'bundles/RedKiteLabselfinder/files/',         // path to files (REQUIRED)
                    'URL'           => $request->getScheme().'://'.$request->getHttpHost() . '/bundles/RedKiteLabselfinder/files/', // URL to files (REQUIRED)
                    'accessControl' => 'access'             // disable and hide dot starting files (OPTIONAL)
                )
            )
        );

        return $options;
    }
}

```

The connector extends the RedKiteLabsElFinderBaseConnector which requires the derived class to implement a configure() method where the elFinder connector's options must be declared. This function must return an array of options.

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 89.4% 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 ~18 days

Recently: every ~0 days

Total

14

Last Release

4462d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/543f3609df36d46fa28192465eba07e9d0a64af1c5798caf03647d97cf5c99f6?d=identicon)[redkite-labs](/maintainers/redkite-labs)

---

Top Contributors

[![alphalemon](https://avatars.githubusercontent.com/u/1242258?v=4)](https://github.com/alphalemon "alphalemon (42 commits)")[![boekkooi](https://avatars.githubusercontent.com/u/399895?v=4)](https://github.com/boekkooi "boekkooi (3 commits)")[![franmomu](https://avatars.githubusercontent.com/u/720690?v=4)](https://github.com/franmomu "franmomu (1 commits)")[![gilles-g](https://avatars.githubusercontent.com/u/377875?v=4)](https://github.com/gilles-g "gilles-g (1 commits)")

---

Tags

cmsajaxfile managerelfinderRedKiteLabs

### Embed Badge

![Health badge](/badges/redkite-labs-redkite-labs-elfinder-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/redkite-labs-redkite-labs-elfinder-bundle/health.svg)](https://phpackages.com/packages/redkite-labs-redkite-labs-elfinder-bundle)
```

###  Alternatives

[kartik-v/bootstrap-fileinput

An enhanced HTML 5 file input for Bootstrap 5.x, 4.x, and 3.x with features for file preview for many file types, multiple selection, ajax uploads, and more.

5.3k8.1M13](/packages/kartik-v-bootstrap-fileinput)[helios-ag/fm-elfinder-bundle

ElFinder bundle, adds ElFinder file manager to your Symfony project

2805.0M31](/packages/helios-ag-fm-elfinder-bundle)[barryvdh/laravel-elfinder

A Laravel Package to integrate elFinder 2

7562.8M48](/packages/barryvdh-laravel-elfinder)[components/elfinder

ElFinder FileManager

541.9M1](/packages/components-elfinder)[barryvdh/elfinder-flysystem-driver

A Flysystem Driver for elFinder

1864.9M40](/packages/barryvdh-elfinder-flysystem-driver)[mihaildev/yii2-elfinder

Yii2 ElFinder

170675.9k54](/packages/mihaildev-yii2-elfinder)

PHPackages © 2026

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