Download the PHP package shahriar/laravel-filemanager without Composer
On this page you can find all versions of the php package shahriar/laravel-filemanager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download shahriar/laravel-filemanager
More information about shahriar/laravel-filemanager
Files in shahriar/laravel-filemanager
Package laravel-filemanager
Short Description Project-scoped Laravel file manager: no storage:link, folders, password-protected files, Tailwind 4 UI.
License MIT
Informations about the package laravel-filemanager
shahriar/laravel-filemanager
فایلمنیجر پروژهمحور لاراول (Livewire 3/4) — بدون storage:link، نمایش فایل از طریق route، پوشه، انتقال، رمز نمایش، Tailwind 4، دارک/لایت، RTL/LTR، ریسپانسیو.
نصب
استفاده
- پنل:
/file-manager/{project_id} - نمایش فایل:
/display-file/{project_id}/{path}یاfm_url($projectId, 'folder/a.jpg') - مسیر ذخیره:
storage/app/public/projects/{project_id}/...(همه کاربران یک پروژه، فایلهای مشترک دارند)
دسترسی
رمز نمایش
از منوی ⋮ هر فایل/پوشه → «رمز عبور». رمز پوشه روی همه زیرمجموعهها اعمال میشود.
بازدیدکننده در /display-file/... صفحه ورود رمز را میبیند؛ پنل (کاربر مجاز) بدون رمز میبیند.
Livewire
- پنل یک کامپوننت Livewire است:
@livewire('filemanager-panel', ['project' => $id])(داخل لایوت خودتان هم قابل استفاده است). - سقف آپلود Livewire جداست؛ در
config/livewire.php:'temporary_file_upload' => ['rules' => ['required', 'file', 'max:51200']]وupload_max_filesize/post_max_sizeدر php.ini. - Alpine همراه Livewire است؛ جداگانه import نکنید.
- دسترسی در هر درخواست Livewire هم چک میشود (
gateوauth).
زبان / جهت
- سوئیچ
فارسی | Englishدر هدر پنل:fa→ RTL،en→ LTR (جهت روی<html>و ریشه کامپوننت اعمال میشود). - انتخاب در session ذخیره میشود؛ زبانها در
config('filemanager.locales')و زبانهای RTL درrtl_locales. - بدون سوئیچ هم کار میکند:
app()->getLocale()اگر درlocalesباشد استفاده میشود.
داخل لایوت پنل خودتان
منو: <a href="{{ route('admin.files') }}">.
embedded: بدون سوئیچ تم/زبان (از پنل شما پیروی میکند)، هدر sticky نیست.
لایوت شما باید @livewireStyles / @livewireScripts، کلاس dark برای دارک، و در app.css:
@source "../../vendor/shahriar/laravel-filemanager/resources/views"; و [x-cloak]{display:none!important} داشته باشد.
انتخاب فایل داخل فرم (Picker)
accept:image,video,audio,pdf,archive,file(خالی = همه).store="path"(پیشفرض، مسیر نسبی مثلbanners/a.webp) یاstore="url"(لینک کامل).- نمایش:
<img src="{{ fm_url($project->id, $post->cover) }}"> - پشت صحنه یک iframe از
/file-manager/{project}/pickerباز میشود (همیشه با لایوت خود پکیج، مستقل ازlayoutکانفیگ) و باpostMessage(همان origin) انتخاب را برمیگرداند. هدرX-Frame-OptionsبایدSAMEORIGINباشد. - ولیدیشن سمت سرور:
app(FileManagerService::class)->isFile($projectId, $path).
اگر قبلاً
vendor:publish --tag=filemanager-viewsزدهاید، پوشهresources/views/vendor/filemanagerنسخه قدیمی را override میکند؛ آن را حذف کنید (یا دوباره publish با--force).
Tailwind 4
- پیشفرض (
cdn => true): Tailwind browser + Alpine از CDN؛ نیازی به build نیست. -
با build خودتان:
'cdn' => falseو درapp.css:و
@livewireStyles/@livewireScriptsرا در لایوت داشته باشید. - لایوت خودتان:
'layout' => 'layouts.admin'(باید@yield('content')داشته باشد).
نکات
- فقط دیسکهای driver=local (
public,local) — انتقال پوشه باrenameانجام میشود. - پسوندهای خطرناک در
blocked_extensionsمسدودند. SVG با CSP sandbox سرو میشود. - زبان:
app()->setLocale('fa')→ RTL خودکار.
All versions of laravel-filemanager with dependencies
illuminate/support Version ^11.0|^12.0|^13.0
livewire/livewire Version ^3.5|^4.0