درس 21 - آموزش آپلود در لاراول

آموزش آپلود کردن فایل ها در فریمورک لاراول

آپلود کردن فایل ها در فریمورک لاراول بسیار آسان است. تنها کاری که برنامه نویس لاراول باید انجام دهد این است که یک فایل view برای نمایش فرم اپلود بسازد و یک controller جهت انجام عملیات اپلود و پردازش آن بسازد.

در فایل view جدید لاراول که ساختید باید یک input توسط کد زیر تولید کنید.

Form::file('file_name');

برای ساختن فرم در فایل blade لاراول نیز از کد زیر استفاده میشود و در متود  Form::open مقدار ‘files’=>’true’ قرار گرفته است به این دلیل که این فرم مناسب اپلود فایل است. در حقیقت این کد بصورت اتوماتیک به فرم اعلام میکند که multiple parts است 

Form::open(array('url' => '/uploadfile','files'=>'true'));

برای درک آموزش آپلود عکس یا فایل در لاراول به مثال زیر دقت کنید.

قدم ۱ − یک فایل view جدید بسازید و نام و مسیرش باید به این شکل باشد resources/views/uploadfile.php و سپس کدهای زیر را درونش بنویسید.

<html>
   <body>
      <?php
         echo Form::open(array('url' => '/uploadfile','files'=>'true'));
         echo 'Select the file to upload.';
         echo Form::file('image');
         echo Form::submit('Upload File');
         echo Form::close();
      ?>
   </body>
</html>

قدم ۲ − یک فایل کنترلر جدید به اسم UploadFileController بسازید. میتوانید برای ساختن این کنترلر جدید از دستور زیر در ترمینال یا کامند پرومپ استفاده کنید.

php artisan make:controller UploadFileController --plain

قدم ۳ − بعد از اجرای دستور بالا در ترمینال نتیجه باید مشابه تصویر زیر باشد.

آموزش آپلود فایل در فریمورک لاراول
قدم ۴ − کدهای زیر را در مسیر app/Http/Controllers/UploadFileController.php که کنترلر ساخته شده است، بنویسید.
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UploadFileController extends Controller {
   public function index() {
      return view('uploadfile');
   }
   public function showUploadFile(Request $request) {
      $file = $request->file('image');
   
      //Display File Name
      echo 'File Name: '.$file->getClientOriginalName();
      echo '<br>';
   
      //Display File Extension
      echo 'File Extension: '.$file->getClientOriginalExtension();
      echo '<br>';
   
      //Display File Real Path
      echo 'File Real Path: '.$file->getRealPath();
      echo '<br>';
   
      //Display File Size
      echo 'File Size: '.$file->getSize();
      echo '<br>';
   
      //Display File Mime Type
      echo 'File Mime Type: '.$file->getMimeType();
   
      //Move Uploaded File
      $destinationPath = 'uploads';
      $file->move($destinationPath,$file->getClientOriginalName());
   }
}

قدم ۵ − فایل route فریمورک لاراول خود را باز کنید و route های جدید زیر را اضافه کنید.

Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');

قدم ۶ − بعد از اینکه php  artisan serve را اجرا کرده اید به url زیر مراجعه کنید تا نتیجه را ببینید.

http://localhost:8000/uploadfile

قدم ۷ − نتیجه ی پروژه ی کوچک آپلود فایل در فریمورک لاراول باید به شکل تصویر زیر باشد.

آموزش آپلود فایل در فریمورک لاراول

اتمام درس