PHPackages                             meloflavio/multiple-file-upload-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. meloflavio/multiple-file-upload-bundle

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

meloflavio/multiple-file-upload-bundle
======================================

Bundle to add an AngularJS file upload field to Sonata Admin

v1.3.1(7y ago)078proprietaryPHPPHP &gt;=5.6

Since Nov 11Pushed 7y ago1 watchersCompare

[ Source](https://github.com/meloflavio/MultipleFileUploadBundle)[ Packagist](https://packagist.org/packages/meloflavio/multiple-file-upload-bundle)[ Docs](https://www.liplex.de)[ RSS](/packages/meloflavio-multiple-file-upload-bundle/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (2)Dependencies (7)Versions (7)Used By (0)

This code is fork e3n-internetagentur/MultipleFileUploadBundle which has been archived and has not been released from the latest changes

Multiple File Upload
====================

[](#multiple-file-upload)

AppKernel
---------

[](#appkernel)

```
$bundles = [
    ...
    new Liplex\MultipleFileUploadBundle\LiplexMultipleFileUploadBundle(),
];

```

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

[](#configuration)

Each field that wants to use the multiple file upload has to be configured.

```
liplex_multiple_file_upload:
        directory: "%liplex_multiple_file_upload_path%" // Default is set to folder web
    media_class: 'Application\Sonata\MediaBundle\Entity\Media'
    mapping:
        product:
            class: 'Company\Bundle\AppBundle\Entity\Product'
            fields:
                image:
                    field: image
                    context: product.image
                    provider: sonata.media.provider.image
                files:
                    field: files
                    context: product.files
                    provider: sonata.media.provider.file
        ...

```

Field usage
-----------

[](#field-usage)

```
// Multiple images
->add('images', 'multiple_file_upload', [
    'label' => 'label.images',
    'allow_images' => true,
])

// Multiple files
->add('files', 'multiple_file_upload', [
    'label' => 'label.files',
    'allow_files' => true,
])

// Set maximal file size to 20 MB
->add('files', 'multiple_file_upload', [
    'label' => 'label.files',
    'max_file_size' => 20,
    'allow_files' => true,
])

// Single upload
->add('image', 'multiple_file_upload', [
    'label' => 'label.image',
    'single_upload' => true,
    'allow_images' => true,
])

// Define extensions
->add('file', 'multiple_file_upload', [
    'label' => 'label.file',
    'single_upload' => true,
    'allow_files' => true,
    'allowed_extensions' => [
        'pdf',
        'md'
    ]
])

```

Prerequisites
-------------

[](#prerequisites)

There are a few prerequisites for the bundle to work properly.

### Additional configuration

[](#additional-configuration)

You have to set those templates in the `sonata_doctrine_orm_admin` configuration.

```
sonata_doctrine_orm_admin:
    templates:
        form:
            - 'LiplexMultipleFileUploadBundle:Admin/Form:form_fields.html.twig'
        types:
            show:
                multiple_image_view: 'LiplexMultipleFileUploadBundle:Admin/CRUD:show_multiple_image_view.html.twig'
                multiple_file_view: 'LiplexMultipleFileUploadBundle:Admin/CRUD:show_multiple_file_view.html.twig'

```

### Routing

[](#routing)

```
liplex_multiple_file_upload:
    resource: "@LiplexMultipleFileUploadBundle/Resources/config/routing.yml"
    prefix:   /

```

### Standard layout

[](#standard-layout)

Add the following overwrites for the `standard_layout.html.twig` file.

```
{% block stylesheets %}
    {{  parent() }}

{% endblock %}

{% block javascripts %}
    {{ parent() }}

{% endblock %}

{% block body_attributes %}ng-app="{% block angularApp %}app{% endblock %}"{% endblock %}

```

### Media

[](#media)

As you have to generate your own media entities with the sonata media bundle there is no generic one which can be used for the generation of the media entities. Therefore you have to set your custom class in the configuration.

### Repositories

[](#repositories)

Repositories have to extend the `MultipleFileUploadRepository` repository...

```
use Liplex\MultipleFileUploadBundle\Repository\MultipleFileUploadRepository;

class YourRepository extends MultipleFileUploadRepository

```

... or have to implement the `store` method themselves.

```
/**
 * Store one entity.
 *
 * @param mixed $entity
 */
public function store($entity)
{
    $this->getEntityManager()->persist($entity);
    $this->getEntityManager()->flush($entity);
}

```

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 60.9% 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 ~158 days

Recently: every ~65 days

Total

6

Last Release

2730d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2846973?v=4)[meloflavio](/maintainers/meloflavio)[@meloflavio](https://github.com/meloflavio)

---

Top Contributors

[![christian-kolb](https://avatars.githubusercontent.com/u/1033270?v=4)](https://github.com/christian-kolb "christian-kolb (14 commits)")[![FVCHS](https://avatars.githubusercontent.com/u/3436926?v=4)](https://github.com/FVCHS "FVCHS (5 commits)")[![meloflavio](https://avatars.githubusercontent.com/u/2846973?v=4)](https://github.com/meloflavio "meloflavio (4 commits)")

---

Tags

uploadsonataangular-js

### Embed Badge

![Health badge](/badges/meloflavio-multiple-file-upload-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/meloflavio-multiple-file-upload-bundle/health.svg)](https://phpackages.com/packages/meloflavio-multiple-file-upload-bundle)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1616.4k12](/packages/2lenet-crudit-bundle)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M729](/packages/sylius-sylius)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M504](/packages/pimcore-pimcore)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M200](/packages/sulu-sulu)

PHPackages © 2026

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