PHPackages                             webazin/filament-file-explorer - 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. webazin/filament-file-explorer

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

webazin/filament-file-explorer
==============================

A comprehensive file explorer plugin for Filament 4 with multi-disk support

2.1.1(6mo ago)08MITPHPPHP ^8.1|^8.2|^8.3

Since Oct 14Pushed 6mo agoCompare

[ Source](https://github.com/webazin/filament-file-explorer)[ Packagist](https://packagist.org/packages/webazin/filament-file-explorer)[ RSS](/packages/webazin-filament-file-explorer/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (7)Versions (6)Used By (0)

Filament File Explorer Plugin
=============================

[](#filament-file-explorer-plugin)

یک پلاگین کامل مدیریت فایل برای Filament 4 با پشتیبانی از چندین دیسک و امکانات پیشرفته.

ویژگی‌ها
--------

[](#ویژگی‌ها)

- ✅ پشتیبانی از چندین Storage Disk (Local, Public, S3, و...)
- ✅ آپلود فایل (تکی و چندتایی)
- ✅ دانلود فایل
- ✅ حذف فایل و پوشه
- ✅ ایجاد پوشه جدید
- ✅ تغییر نام فایل و پوشه
- ✅ ویرایش فایل‌های متنی (txt, php, json, و...)
- ✅ نمایش اطلاعات فایل (سایز، تاریخ، نوع)
- ✅ جستجو در فایل‌ها
- ✅ فیلتر بر اساس نوع فایل
- ✅ عملیات گروهی (Bulk Actions)
- ✅ مدیریت دسترسی‌ها
- ✅ محدودیت سایز و نوع فایل

نصب
---

[](#نصب)

نصب پکیج از طریق Composer:

```
composer require webazin/filament-file-explorer
```

منتشر کردن فایل‌های کانفیگ (اختیاری):

```
php artisan vendor:publish --tag="file-explorer-config"
```

استفاده
-------

[](#استفاده)

### 1. اضافه کردن پلاگین به Panel

[](#1-اضافه-کردن-پلاگین-به-panel)

در فایل `app/Providers/Filament/AdminPanelProvider.php`:

```
use Webazin\FileExplorer\FileExplorerPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugin(
            FileExplorerPlugin::make()
                ->disks(['public', 'local', 's3'])
                ->canUpload()
                ->canDownload()
                ->canDelete()
                ->canCreateFolder()
                ->canRename()
                ->canEdit()
                ->maxFileSize(10240) // 10MB
                ->allowedExtensions(['jpg', 'png', 'pdf', 'txt'])
        );
}
```

### 2. تنظیمات پیش‌فرض

[](#2-تنظیمات-پیش‌فرض)

همه تنظیمات به صورت پیش‌فرض فعال هستند. می‌توانید آن‌ها را غیرفعال کنید:

```
FileExplorerPlugin::make()
    ->disks(['public']) // فقط دیسک public
    ->canUpload(false) // غیرفعال کردن آپلود
    ->canDelete(false) // غیرفعال کردن حذف
    ->maxFileSize(5120); // محدودیت 5MB
```

### 3. پیکربندی Storage Disks

[](#3-پیکربندی-storage-disks)

در فایل `config/filesystems.php` دیسک‌های مورد نیاز را تنظیم کنید:

```
'disks' => [
    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

    's3' => [
        'driver' => 's3',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION'),
        'bucket' => env('AWS_BUCKET'),
    ],
],
```

امکانات پیشرفته
---------------

[](#امکانات-پیشرفته)

### دسترسی به تنظیمات پلاگین

[](#دسترسی-به-تنظیمات-پلاگین)

```
use Webazin\FileExplorer\FileExplorerPlugin;

// دریافت دیسک‌های فعال
$disks = FileExplorerPlugin::get()->getDisks();

// بررسی دسترسی‌ها
if (FileExplorerPlugin::get()->hasUploadPermission()) {
    // کاربر می‌تواند فایل آپلود کند
}
```

### سفارشی‌سازی Resource

[](#سفارشی‌سازی-resource)

می‌توانید Resource را extend کنید:

```
namespace App\Filament\Resources;

use Webazin\FileExplorer\Resources\FileManagerResource as BaseFileManagerResource;

class CustomFileManagerResource extends BaseFileManagerResource
{
    protected static ?string $navigationIcon = 'heroicon-o-document';

    protected static ?string $navigationGroup = 'محتوا';

    // اضافه کردن متدهای سفارشی
}
```

### محدود کردن دسترسی

[](#محدود-کردن-دسترسی)

```
use Webazin\FileExplorer\Resources\FileManagerResource;

// در AuthServiceProvider یا Policy
Gate::define('viewFileManager', function ($user) {
    return $user->isAdmin();
});

// در Resource
public static function canViewAny(): bool
{
    return Gate::allows('viewFileManager');
}
```

پیکربندی‌های اضافی
------------------

[](#پیکربندی‌های-اضافی)

### تنظیم فایل Config

[](#تنظیم-فایل-config)

```
return [
    'disks' => ['public', 'local'],

    'permissions' => [
        'upload' => true,
        'download' => true,
        'delete' => true,
        'create_folder' => true,
        'rename' => true,
        'edit' => true,
    ],

    'max_file_size' => 10240, // KB

    'allowed_extensions' => [
        'jpg', 'jpeg', 'png', 'gif', 'pdf',
        'doc', 'docx', 'txt', 'zip'
    ],

    'editable_extensions' => [
        'txt', 'md', 'json', 'xml', 'yml',
        'php', 'js', 'css', 'html'
    ],
];
```

استفاده در محیط Production
--------------------------

[](#استفاده-در-محیط-production)

برای استفاده در production، حتماً:

1. فایل `.env` را پیکربندی کنید
2. دسترسی‌ها را محدود کنید
3. Backup منظم از فایل‌ها داشته باشید
4. از HTTPS استفاده کنید
5. Validation مناسب برای آپلود فایل تنظیم کنید

مثال‌های کاربردی
----------------

[](#مثال‌های-کاربردی)

### 1. محدود کردن به فرمت‌های تصویر

[](#1-محدود-کردن-به-فرمت‌های-تصویر)

```
FileExplorerPlugin::make()
    ->allowedExtensions(['jpg', 'jpeg', 'png', 'gif', 'webp'])
    ->maxFileSize(2048); // 2MB
```

### 2. فقط خواندن (Read-only)

[](#2-فقط-خواندن-read-only)

```
FileExplorerPlugin::make()
    ->canUpload(false)
    ->canDelete(false)
    ->canCreateFolder(false)
    ->canRename(false)
    ->canEdit(false);
```

### 3. چند دیسک با تنظیمات متفاوت

[](#3-چند-دیسک-با-تنظیمات-متفاوت)

```
// Panel اول - فایل‌های عمومی
FileExplorerPlugin::make()
    ->disks(['public'])
    ->canDelete(false);

// Panel دوم - مدیریت کامل
FileExplorerPlugin::make()
    ->disks(['public', 'local', 's3'])
    ->canDelete()
    ->canEdit();
```

عیب‌یابی
--------

[](#عیب‌یابی)

### مشکل آپلود فایل

[](#مشکل-آپلود-فایل)

اگر فایل آپلود نمی‌شود:

1. بررسی کنید `php.ini` محدودیت `upload_max_filesize` و `post_max_size` مناسب است
2. دسترسی‌های پوشه storage را چک کنید
3. symlink را با `php artisan storage:link` ایجاد کنید

### مشکل نمایش فایل‌ها

[](#مشکل-نمایش-فایل‌ها)

اگر فایل‌ها نمایش داده نمی‌شوند:

1. بررسی کنید دیسک در `config/filesystems.php` تعریف شده است
2. دسترسی‌های Laravel را چک کنید

مجوز
----

[](#مجوز)

MIT License

پشتیبانی
--------

[](#پشتیبانی)

برای گزارش باگ یا درخواست ویژگی جدید، از GitHub Issues استفاده کنید.

توسعه‌دهنده
-----------

[](#توسعه‌دهنده)

توسعه یافته توسط \[Webazin\]

مشارکت
------

[](#مشارکت)

مشارکت‌ها استقبال می‌شود! لطفاً Pull Request ارسال کنید.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance66

Regular maintenance activity

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity54

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 ~0 days

Total

5

Last Release

208d ago

Major Versions

1.0.0 → 2.0.02025-10-15

PHP version history (2 changes)1.0.0PHP ^8.1|^8.2|^8.3|^8.4

2.0.0PHP ^8.1|^8.2|^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/77ce3d4e5f45a422fb431d417329de94d8b99391fe2f131054f16fdb849a0f7a?d=identicon)[webazin](/maintainers/webazin)

---

Top Contributors

[![mahdi4187](https://avatars.githubusercontent.com/u/25785927?v=4)](https://github.com/mahdi4187 "mahdi4187 (6 commits)")

---

Tags

pluginlaravelfile managerfilamentfile-explorer

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/webazin-filament-file-explorer/health.svg)

```
[![Health](https://phpackages.com/badges/webazin-filament-file-explorer/health.svg)](https://phpackages.com/packages/webazin-filament-file-explorer)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[pboivin/filament-peek

Full-screen page preview modal for Filament

253319.6k12](/packages/pboivin-filament-peek)[mwguerra/filemanager

A full-featured file manager package for Laravel and Filament v5 with dual operating modes, drag-and-drop uploads, S3/MinIO support, and comprehensive security features.

718.5k1](/packages/mwguerra-filemanager)[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

254255.2k6](/packages/croustibat-filament-jobs-monitor)[dotswan/filament-map-picker

Easily pick and retrieve geo-coordinates using a map-based interface in your Filament applications.

124139.3k2](/packages/dotswan-filament-map-picker)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17554.3k2](/packages/stephenjude-filament-jetstream)

PHPackages © 2026

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