PHPackages                             creativehabib/media-manager - 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. [Image &amp; Media](/categories/media)
4. /
5. creativehabib/media-manager

ActiveLibrary[Image &amp; Media](/categories/media)

creativehabib/media-manager
===========================

Laravel media manager like Botble CMS

V1.1.3(3mo ago)02.9k1[2 PRs](https://github.com/creativehabib/laravel-media-manager/pulls)MITBladePHP ^8.2

Since Nov 22Pushed 3mo agoCompare

[ Source](https://github.com/creativehabib/laravel-media-manager)[ Packagist](https://packagist.org/packages/creativehabib/media-manager)[ Docs](https://github.com/creativehabib/laravel-media-manager)[ RSS](/packages/creativehabib-media-manager/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (2)Versions (24)Used By (0)

Laravel Media Manager
=====================

[](#laravel-media-manager)

A Livewire v3-powered media manager for Laravel applications. It provides a Botble-like media library with uploads, tagging, folders, favorites, trash management, and basic image optimization features.

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel with Livewire 3 installed
- intervention/image-laravel
- intervention/image
- Tailwindcss
- Fontawesome

Features
--------

[](#features)

- 📁 Folder-based file manager
- 🏷️ Tags &amp; search filters
- 🖼️ Image preview, crop &amp; optimize
- ☁️ Multiple disks (e.g. `public`, `s3`)
- 🗑️ Trash, restore, and permanent delete
- ⭐ Favorites
- 🔗 Direct &amp; indirect shareable URLs
- 📤 Upload from local or external URL
- ⚡ Livewire-powered UI (no page reloads)
- 🧩 Ready-made Blade partials:
- `media-input` for input + preview
- `media-modal` for the media gallery modal
- `media-toast` for toasts/notifications -Easy integration with:
- Any simple `` field
- CKEditor (or any rich text editor)

---

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

[](#installation)

1. Install the package via Composer: ```
     composer require creativehabib/media-manager intervention/image intervention/image-laravel
    ```
2. Publish the configuration (and adjust disks, route prefix, middleware, or permissions as needed): ```
    php artisan vendor:publish --provider="Habib\\MediaManager\\MediaManagerServiceProvider" --tag=config
    ```
3. Run the migrations to create the media tables: ```
    php artisan migrate
    ```

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

[](#configuration)

The published `config/mediamanager.php` file lets you control several behaviors:

- **disks**: which filesystem disks can be managed (default: `public`, `s3`, `do_spaces`).
- **default\_disk**: disk used when none is specified.
- **route\_prefix**: base URL for the bundled routes (default: `admin/media`).
- **middleware**: middleware stack protecting the routes (default: `['web', 'auth']`).
- **permission**: optional Gate ability checked before allowing access (default: `manage_media`).
- **per\_page**: pagination size for the media listing.
- **toast**: toast notification defaults (position, timeout, queue length).

Usage
-----

[](#usage)

### Routes

[](#routes)

The service provider automatically registers routes under the configured prefix, guarded by the configured middleware and optional permission check. Visit `/admin/media` (or your configured prefix) to access the media manager page.

### Livewire component

[](#livewire-component)

Render the media manager anywhere in your app:

```

{{-- or --}}
@livewire('media-manager')
```

### Blade input helper

[](#blade-input-helper)

Drop a media picker + preview into any form field:

```
@include('mediamanager::includes.media-input', [
    'name'  => 'site_logo',
    'id'    => 'site_logo',
    'label' => 'Site Logo',
    'value' => $site_logo,
])
```

### Modal include

[](#modal-include)

To open the manager inside a modal and let users pick media for form fields, include the packaged modal partial and trigger it via the provided JavaScript helpers:

```
@include('mediamanager::includes.media-modal')

Select media

```

The modal listens for `open-media-manager` and `close-media-manager` events and dispatches `media-insert` when users confirm selection.

### View publishing

[](#view-publishing)

If you need to customize the views, publish them:

```
php artisan vendor:publish --provider="Habib\\MediaManager\\MediaManagerServiceProvider" --tag=mediamanager-views
# or publish everything under the mediamanager namespace
php artisan vendor:publish --provider="Habib\\MediaManager\\MediaManagerServiceProvider" --tag=mediamanager-all
```

Features
--------

[](#features-1)

- Upload files from local devices or by URL, storing them on the configured disks.
- Organize files into folders, tag them, and search/filter by name, tag, MIME type, visibility, date range, or folder.
- Mark items as favorites, manage trash, and view recent uploads.
- Image uploads automatically record dimensions; cropping and optimization options are built in for image assets.
- Optional Gate permission check to restrict access to authorized users.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance80

Actively maintained with recent releases

Popularity21

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

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

Every ~9 days

Recently: every ~25 days

Total

14

Last Release

108d ago

PHP version history (2 changes)V1.0.0PHP ^8.1

v1.0.1PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/40410ad42efec1ec2037e262948739a032cf089c7069d4418f95a29c21cc93b5?d=identicon)[creativehabib](/maintainers/creativehabib)

---

Top Contributors

[![creativehabib](https://avatars.githubusercontent.com/u/9308275?v=4)](https://github.com/creativehabib "creativehabib (32 commits)")

---

Tags

creativehabiblaravellaravel-media-managermediamediamanager

### Embed Badge

![Health badge](/badges/creativehabib-media-manager/health.svg)

```
[![Health](https://phpackages.com/badges/creativehabib-media-manager/health.svg)](https://phpackages.com/packages/creativehabib-media-manager)
```

###  Alternatives

[tallstackui/tallstackui

TallStackUI is a powerful suite of Blade components that elevate your workflow of Livewire applications.

725172.4k14](/packages/tallstackui-tallstackui)[filament/support

Core helper methods and foundation code for all Filament packages.

2331.0M245](/packages/filament-support)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[yajra/laravel-datatables-export

Laravel DataTables Queued Export Plugin.

362.2M4](/packages/yajra-laravel-datatables-export)[noerd/noerd

101.4k6](/packages/noerd-noerd)[team-nifty-gmbh/tall-datatables

Server-side rendered datatables for Laravel and Livewire

1320.9k4](/packages/team-nifty-gmbh-tall-datatables)

PHPackages © 2026

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