مدير الملفات القابل للتضمين في أي مكان
PHP ≥ 8.1 + Flysystem 3. واجهة Alpine.js. محلي، S3، Cloudflare R2. التضمين بعدة أسطر JavaScript.
شاهده أثناء العمل
كل ما يحتاجه مدير ملفات حديث
مصمم للمطورين الذين يحتاجون المرونة.
تخزين متعدد
محلي، AWS S3، Cloudflare R2 عبر Flysystem v3 — التبديل بالإعداد دون تغيير الكود.
تضمين في أي مكان
iframe + SDK postMessage. الواجهة المستقلة Alpine.js (بدون بناء). يعمل مع أي إطار.
مصادقة JWT + نطاقات
بادئة مسار لكل مستخدم، صلاحيات، قائمة أقراص، وضع المالك فقط.
وسم AI تلقائي
Claude / OpenAI vision — نص بديل وعنوان ووسوم تلقائية.
اقتصاص الصور
أداة اقتصاص مع نسب أبعاد مسبقة.
تحسين الصور
متغيرات WebP تلقائية — مصغّرة ومتوسطة وكبيرة.
رفع بتوقيع مسبق
المتصفح يرفع مباشرة إلى S3/R2 — صفر استهلاك على خادمك.
رفع مجزّأ
S3 multipart للملفات > 10 ميجابايت.
بحث نصي كامل
SQLite FTS5 في الأسماء والعناوين والوسوم.
عمليات جماعية
تحديد متعدد للنقل والنسخ والحذف والتحميل.
نقل عبر الأقراص
نسخ/نقل بين محلي ↔ S3 ↔ R2.
سلة المحذوفات
حذف قابل للاسترداد مع تنظيف تلقائي.
بيانات SEO الوصفية
عنوان، alt، تعليق، وسوم — بيانات وصفية S3 (سحابة) أو JSON جانبي (محلي). بحث نصي كامل.
الوضع الداكن
فاتح / داكن / تلقائي في الواجهة وSDK.
16 لغة
الإنجليزية افتراضياً. عيّن اللغة عبر SDK أو URL (?locale=) أو FLUXFILES_LOCALE. RTL للعربية.
سجل التدقيق
جميع إجراءات الكتابة مسجّلة.
تحديد المعدل
Token bucket لكل مستخدم لحماية API.
حصة التخزين
حدود لكل مستخدم عبر JWT claims.
دلاء BYOB
المستخدمون يضيفون S3/R2 الخاص — بيانات الاعتماد مشفّرة في JWT (AES-256-GCM).
كشف التكرار
تطابق SHA-256 يتخطى الرفع الزائد ما لم يُفرض الاستبدال.
تجديد رمز SDK
onTokenRefresh عند 401 — تجديد مجمّع، إعادة محاولة، updateToken().
جاهز خلال دقيقتين
composer require fluxfiles/fluxfiles
cp .env.example .env
# .env
FLUXFILES_SECRET=your-random-32-char-secret
FLUXFILES_ALLOWED_ORIGINS=https://yourapp.com
require_once 'vendor/autoload.php';
$token = fluxfiles_token(
userId: 'user-123',
perms: ['read', 'write', 'delete'],
disks: ['local', 's3', 'r2'],
prefix: 'user-123/',
maxUploadMb: 10,
allowedExt: null,
ttl: 3600
); composer require fluxfiles/laravel
php artisan vendor:publish --tag=fluxfiles-config
# .env — point the adapter at your FluxFiles server
FLUXFILES_ENDPOINT=https://fm.yourdomain.com
FLUXFILES_SECRET=your-secret-min-32-chars
# Optional: match CORS on the FluxFiles host
# FLUXFILES_ALLOWED_ORIGINS=https://yourapp.com
# Config: config/fluxfiles.php <!-- Demo: unpkg. In production, serve fluxfiles.js from your FluxFiles host -->
<script src="https://unpkg.com/fluxfiles@1.22.0/fluxfiles.js"></script>
<script>
FluxFiles.open({
endpoint: 'https://your-api.com',
token: 'eyJhbGci...',
disk: 'local',
mode: 'picker',
container: '#file-picker',
onSelect: function(file) {
console.log('Selected:', file.url);
},
async onTokenRefresh() {
const r = await fetch('/api/auth/refresh-fluxfiles-token');
const { token } = await r.json();
return token;
}
});
</script> npm install @fluxfiles/react
import { FluxFilesModal } from '@fluxfiles/react';
<FluxFilesModal
open={open}
endpoint="https://your-api.com"
token={token}
onSelect={(file) => console.log(file)}
onClose={() => setOpen(false)}
/> npm install @fluxfiles/vue
<script setup>
import { FluxFilesModal } from '@fluxfiles/vue';
</script>
<FluxFilesModal
v-model:open="open"
endpoint="https://your-api.com"
:token="token"
@select="onSelect"
@close="open = false"
/> git clone https://github.com/thai-pc/fluxfiles.git
cd fluxfiles
composer install -d packages/core
cp .env.example .env
cd packages/core
php -S localhost:8080 router.php
# UI: http://localhost:8080/public/index.html
# API: http://localhost:8080/api/fm/list?disk=local&path= يعمل مع
مصمم لما نسيه الآخرون
| الميزة | FluxFiles | elFinder | Laravel-FM | RichFilemanager | Responsive FM |
|---|---|---|---|---|---|
| S3 + R2 + محلي | ✓ | ⚠ | ⚠ | ⚠ | ✗ |
| تضمين في أي إطار عمل | ✓ | ⚠ | ✗ | ⚠ | ✗ |
| مصادقة JWT + نطاقات | ✓ | ✗ | ✗ | ✗ | ✗ |
| بيانات SEO الوصفية | ✓ | ✗ | ✗ | ✗ | ✗ |
| وسم AI تلقائي | ✓ | ✗ | ✗ | ✗ | ✗ |
| اقتصاص الصور | ✓ | ✓ | ✗ | ✗ | ✗ |
| رفع مجزّأ | ✓ | ✗ | ✗ | ✗ | ✗ |
| بحث نصي كامل | ✓ | ✗ | ✗ | ✗ | ✗ |
| الوضع الداكن | ✓ | ✗ | ⚠ | ✗ | ✗ |
| 16 لغة | ✓ | ✓ | ✗ | ✗ | ✗ |
| PHP ≥ 8.1 | ✓ | ✓ | ✗ | ✓ | ✓ |
| صيانة نشطة | ✓ | ✓ | ⚠ | ✗ | ✗ |
| واجهة حديثة | ✓ | ✗ | ⚠ | ✗ | ✗ |