Has-Files هي حزمة تقدم طريقة سهلة وسريعة لربط الملفات بالـ model في Laravel.
هذه الحزمة تعتمد على Uploader.
قم بتنصيب اخر اصدار بواسطة Composer.
1composer require pharaonic/laravel-has-files2php artisan migrate
عملية رفع الملفات ستصبح أسهل شئ يمكنك التفكير فيه, فالآن يمكنك حفظ واسترجاع وتحديث وحذف الملفات بكل سهولة.
يجب عليك تضمين HasFiles trait في الـ model الخاص بك اولاً.
اختياري : يمكنك تخصيص خيارات عملية الرفع من خلال Uploader.
1namespace App\Models; 2 3use Illuminate\Database\Eloquent\Model; 4use Pharaonic\Laravel\Files\HasFiles; 5 6class Person extends Model 7{ 8 use HasFiles; 9 10 protected $filesAttributes = ['passport']; 11 12 protected $filesOptions = [
13 'passport' => [14 'directory' => '/papers/passports',15 'thumbnail' => [16 'ratio' => true,17 'width' => 350,18 'height' => null19 ]20 ],21 ];22}
هكذا يمكنك حفظ الملفات في الـ model, و يمكنك اتمام عملية الحفظ من خلال الإنشاء أو تبديل الملف بملف جديد.
1// On Create 2$person = Person::create([3 'passport' => $request->passport4]);5 6// Replace File 7$person->passport = $request->passport;8$person->save();
يمكنك استرجاع الملفات بسهوله أو حتى الصور المصغرة الخاصة بتلك الملفات أيضاً.
1echo $person->passport->url;2echo $person->passport->thumbnail->url;
يمكنك حذف ملف واحد أو كل الملفات أو الـ model والملفات أيضاً.
1// Delete Single File 2$person->passport->delete();3 4// Delete All Files 5$person->clearFiles();6 7// Delete Model With It's Files too 8$person->delete();