دورة laravel للمبتدئين الدرس التاسع

منذ 5 سنوات imadbelasri Laravel
LA

فهاد الدرس التاسع من دورة laravel للمبتدئين غادي نكملو الدورة ديالنا غادي نشوفوا كيفاش نديرو ل form upload يعني نخزن الصور أولا ملفات فل projet ديالي.
فغادي نزيدو الفورم من بعد غادي نشوفوا الكود لي غادي يمكن من تحميل الملفات وتخزينها.


1- إضافة فورم التحميل

غادي نمشي ل views تما غادي نزيد ملف جديد سميه upload.blade.php فيه غادي تكون عندي الفورم لي كتمكن من تحميل الملفات وارسالها ل route upload لي غادي نزيدوه من بعد.

فالكود لي غادي تزيد فالملف هو :

                                                    
                                                        //upload.blade.php

<!doctype html>
<html lang="{{ app()->getLocale() }}">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
    </head>
    <body>
        {{-- part 3 --}}
        <div class="container">
            <div class="row mt-4">
                <div class="col-md-6">
                    <h3>Ajouter une image</h3>
                    <hr>
                    @if(Session::has('success'))
                        <div class="alert alert-success">{{Session::get('success')}}</div>
                    @endif
                    {{-- part 3 --}}
                    @foreach($errors->all() as $error)
                        <div class="alert alert-danger">{{$error}}</div>
                    @endforeach
                    <form action="{{route('upload')}}" method="post" enctype="multipart/form-data">
                        {{csrf_field()}}
                        <div class="form-group">
                            <input type="file" name="file" class="form-control">
                        </div>
                        <div class="form-group">
                            <button class="btn btn-primary" type="submit">Valider</button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </body>
</html>
                                                    
                                                

2- إضافة ل controller UploadFileController

فغادي تزيد controller سميه UploadFileController غادي نزيد فيه fonction سميتها :

- index لي كنسترجع بها الفورم لي هي الملف upload لي زدنا.

الكود ديال الملف UploadFileController.php هو :

                                                        
                                                            //UploadFileController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UploadFileController extends Controller
{
    //
    public function index(){
        return view('upload');
    }
}
                                                        
                                                    

3- إضافة كود التحميل ف UploadFileController

دائما ف UploadFileController.php كنزيد ل fonction uploadFile لي فيها كنسترجع الصورة أولا الملف لي عندنا فالفورم وهنا كنعرض اسم الملف بل :
- fonction getClientOriginalName.

ول extension ديالو بل :
- fonction getClientOriginalExtension.

فهادو زدناهم غير باش تعرف كيفاش تسترجع هاد المعلومات في حالة ما احتاجيتهم.

منبعد كنخزن الملف ف dossier uploads لي خصك تزيدو ف dossier public باستعمال ل fonction move لي كتاخذ اسم dossier والملف.

الكود ديال الملف UploadFileController.php بعد التعديل هو :

                                                        
                                                            //
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UploadFileController extends Controller
{
    //
    public function index(){
        return view('upload');
    }
    public function uploadFile(Request $request){
      $file = $request->file('file');

      //afficher le nom de fichier
      echo 'Nom de fichier: '.$file->getClientOriginalName();
      echo '<br>';
   
      //afficher l'extension du fichier
      echo 'l\'extension du fichier: '.$file->getClientOriginalExtension();
      echo '<br>';
   
   
      //télécharger le fichier
      $folder = 'uploads';
      $file->move($folder,$file->getClientOriginalName());

      echo 'fichier téléchargé';
    }
}
                                                        
                                                    

4- إضافة les routes ف web.php

فغادي تمشي للملف web.php تما غادي نزيد les routes ديالي منبعد ما نزيدهم غادي تمشي للرابط :

http://localhost/laravelProject/public/upload غادي نلقى الفورم ديالي كيف كنشوف فالصورة :


من بعد فاش غادي تاخد لملف او الصورة لي اختاريتي وتضغط على valider غادي تلقى النتيجة :

من بعد غادي تمشي ل dossier uploads لي زدتي ف public غادي تلقى الملف أو الصورة تزادت تما.

الكود لي زدتا ف web.php هو :

                                                        
                                                            //
Route::get('/upload','UploadFileController@index');
Route::post('/upload','UploadFileController@uploadFile')->name('upload');
                                                        
                                                    

دروس ذات صلة

LA

دورة laravel للمبتدئين الجزء الأول

فهاد الدورة الجديدة ديال المبتدئين غادي نشوفوا واحد ل php framework لي هي رقم واحد حاليا ولي هي lara...


LA

دورة laravel للمبتدئين الدرس الثاني

فهاد الدرس الثاني من دورة laravel للمبتدئين غادي نكملوا الدورة ديالنا فغادي نشوفوا كيفاش نزيدو les f...


LA

دورة laravel للمبتدئين الدرس الثالت

فهاد الدرس الثالت من دورة laravel للمبتدئين غادي نكملوا الدورة ديالنا غادي نشوف...


LA

دورة laravel للمبتدئين الدرس الرابع

فهاد الدرس الرابع من دورة laravel للمبتدئين غادي نكملو الدورة ديالنا بالتطرق لكيفاش نستعمل ل mo...


LA

دورة laravel للمبتدئين الدرس الخامس

فالدرس السابق من دورة laravel للمبتدئين شفنا كيفاش درنا الإضافة فقاعدة البيانات من بعد شفنا كيفاش اس...


LA

دورة laravel للمبتدئين الدرس السادس

فهاد الدرس السادس من دورة laravel للمبتدئين غادي نشوفوا كيفاش نتعاملو مع les formulaires ف laravel غ...


LA

دورة laravel للمبتدئين الدرس السابع

فهاد الدرس السابع من دورة laravel للمبتدئين ومنبعد ما شفنا كيفاش زدنا post فقاعدة البيانات غادي نشوف...


LA

دورة laravel للمبتدئين الدرس الثامن

فهاد الدرس الثامن من دورة laravel للمبتدئين غادي نشوفوا كيفاش نتعاملو مع les sessions.فالدرس السابق...


LA

دورة laravel للمبتدئين الدرس التاسع

فهاد الدرس التاسع من دورة laravel للمبتدئين غادي نكملو الدورة ديالنا غادي نشوفوا كيفاش نديرو ل form...


LA

دورة laravel للمبتدئين الدرس العاشر

فهاد الدرس العاشر من دورة laravel للمبتدئين غادي نكملوا الدورة ديالنا وندوزو ل authentification...