تحميل ومعالجة الملف والصورة بتنسيق Laravel

تحديد حقل التحميل في النموذج

أولاً ، أضف <input type="file"> حقلاً إلى نموذج HTML للسماح للمستخدمين بتحديد ملف أو صورة للتحميل.

<form method="POST" action="{{ route('upload') }}" enctype="multipart/form-data">  
    @csrf  
    <input type="file" name="file">  
    <button type="submit">Upload</button>  
</form>  

 

التعامل مع طلب التحميل

في Laravel وحدة التحكم ، يمكنك التعامل مع طلب التحميل بطريقة. استخدم Illuminate\Http\Request الكائن للوصول إلى الملف الذي تم تحميله وإجراء عمليات المعالجة اللازمة.

use Illuminate\Http\Request;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        // Handle the file here  
    }  
}  

 

قم بتخزين الملف

Laravel يوفر store طريقة لتخزين الملف الذي تم تحميله. ما عليك سوى استدعاء هذه الطريقة على كائن الملف وتوفير مسار التخزين المطلوب.

$path = $file->store('uploads');

 

تعامل مع الصورة

إذا كنت بحاجة إلى التعامل مع صورة ، مثل تغيير الحجم أو الاقتصاص أو تطبيق المرشحات ، فيمكنك استخدام مكتبة معالجة الصور مثل Intervention Image. أولاً ، قم بتثبيت حزمة Intervention Image عبر Composer:

composer require intervention/image

بعد ذلك ، يمكنك استخدام أساليب المكتبة لمعالجة الصورة.

use Intervention\Image\Facades\Image;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        $image = Image::make($file);  
        // Handle the image here  
    }  
}  

 

عرض الملف والصورة التي تم تحميلها

أخيرًا ، يمكنك عرض الملف والصورة المحملين في واجهة المستخدم. استخدم Laravel الطرق المساعدة لإنشاء عناوين URL عامة للملف والصورة المخزنين ، واستخدمها في HTML أو CSS.

$url = asset('storage/'. $path);

 

يمكنك استخدام $url المتغير في HTML أو CSS لعرض الملف أو الصورة التي تم تحميلها.

 

باتباع هذه الخطوات واستخدام Laravel الميزات المضمنة في التطبيق ، يمكنك بسهولة تحميل الملفات والصور والتعامل معها في تطبيقك Laravel.