آموزش آپلود عکس در لاراول 6 ، آپلود عکس یک نیاز اصلی برای هر پروژه است ، بنابراین ما در این پست در قالب یک مثال ساده بارگذاری یا آپلود تصویر در Laravel 6 را به شما آموزش می دهیم.با ما همراه باشید.
در این مثال ما دو مسیر (route) ایجاد می کنیم یکی برای متد get و یکی برای متد post .همچنین ما یک فرم ساده به همراه یک input از نوع file ایجاد می کنیم.بنابراین شما باید یک عکس ساده را انتخاب کنید و سپس آن را در دایرکتوری “images” از پوشه public بارگذاری یا آپلود نمایید.پس برای آموختن آموزش آپلود عکس در لاراول 6 مراحل ساده زیر را گام به گام دنبال کنید.
اول از همه ، ما نیاز داریم نسخه جدید لاراول یعنی لاراول 6 را با استفاده از دستور زیر نصب کنیم. چون ما قصد داریم این مثال را از ابتدا به شما آموزش دهیم.بنابراین ترمینال یا خط فرمان (command prompt) خود را باز کنید و دستور زیر را اجرا کنید:
composer create-project --prefer-dist laravel/laravel blog
در این مرحله ما دو مسیر یا route جدید به فایل web.php اضافه می کنیم یک مسیر برای تولید فرم و دیگری برای متد post.بنابراین route های زیر را به فایل مذکور اضافه کنید.
Route::get('image-upload', 'ImageUploadController@imageUpload')->name('image.upload');
Route::post('image-upload', 'ImageUploadController@imageUploadPost')->name('image.upload.post');
در این مرحله ما باید یک کنترلر جدید با نام ImageUploadController ایجاد کنیم و متدهای imageUpload() و imageUploadPost() را در آن بنویسیم.یک متد برای مدیریت متد get و دیگری برای متد post .پس کدهای زیر را به فایل کنترلی که ایجاد کردید اضافه کنید:
همچنین بخوانید: آموزش آپلود چندین عکس با Dropzone در لاراول 5.8
app/Http/Controllers/ImageUploadController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ImageUploadController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function imageUpload()
{
return view('imageUpload');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function imageUploadPost(Request $request)
{
$request->validate([
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$imageName = time().'.'.$request->image->extension();
$request->image->move(public_path('images'), $imageName);
return back()
->with('success','عکس شما با موفقیت اپلود شد.')
->with('image',$imageName);
}
}
در این مرحله ما نیاز داریم یک فایل blade با نام imageUpload.blade.php ایجاد کنیم و در این فایل یک فرم همراه با یک دکمه آپلود فایل بسازیم.بنابراین کدهای زیر را کپی کنید و در فایل مذکور قرار دهید.
resources/views/imageUpload.blade.php
<!DOCTYPE html>
<html>
<head>
<title>آموزش آپلود عکس در لاراول - وب سایت تجاری اپ</title>
<link rel="stylesheet" href="http://getbootstrap.com/dist/css/bootstrap.css">
<style>
body{
direction: rtl;
text-align: right;
}
</style>
</head>
<body>
<div class="container">
<div class="panel panel-primary">
<div class="panel-heading"><h2>آموزش آپلود عکس در لاراول - وب سایت تجاری اپ</h2></div>
<div class="panel-body">
@if ($message = Session::get('success'))
<div class="alert alert-success alert-block">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>{{ $message }}</strong>
</div>
<img src="images/{{ Session::get('image') }}">
@endif
@if (count($errors) > 0)
<div class="alert alert-danger">
<strong>وای!</strong> در فایل ورودی شما مشکلی پیش آمد.
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form action="{{ route('image.upload.post') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="row">
<div class="col-md-6">
<input type="file" name="image" class="form-control">
</div>
<div class="col-md-6">
<button type="submit" class="btn btn-success">بارگزاری</button>
</div>
</div>
</form>
</div>
</div>
</div>
</body>
</html>
در مرحله آخر ما نیاز داریم یک داریکتوری جدید ” image” با مجوز کامل ایجاد کنیم.بنابراین یک پوشه جدید در پوشه public ایجاد کنید.
پس از انجام این کار می توانید برنامه خود را بررسی کنید.
امیدوارم این آموزش برای شما مفیدبوده باشد…
1 Comment
ممنون از آموزش مفیدتووووون