Module Beginner 23 September 2017

TUTORIAL LARAVEL 5.4 — UPLOAD FILE

Cara mudah untuk upload file di Laravel 5.4

TUTORIAL LARAVEL 5.4 — UPLOAD FILE

Cara mudah untuk upload file di Laravel 5.4

Image Helloo!!! AGH MAAF BANGET HARUSNYA GUE NULIS TUTORIAL ITU SEMINGGU SEKALI. TAPI KARENA ENTAH KENAPA MOOD GUE LAGI ENGGA BAIK JADI GUE ENGGAN MENULISNYA WKWKWK MAAFIN GUE YA

oke sekian intro-nya! LETS CODE!

First, di post ini gue anggep lo udah paham database dan ngerti cara konekinnya, ngerti cara buat table dll. Kalo engga ngerti, belajar! ok?

Pastiin lo buat table nama tablenya **file. **Attributnya kaya gini nih:

Image Udah ? Sekarang saatnya kita coding.

Buat Controller baru namanya Controller **File.php **masih manja juga ? okey nih caranya copas dibawah

php artisan make:controller File —resourceSebelum kita masuk ke step selanjutnya pastiin lo udah pake template dari yang gue buat, liatnya di github gue atau di post ini

Nah kalo udah setting templatenya berarti jos kita siap jalan.

Buat sebuah views, berinama file.blade.php dan insert code dibawah

@extends(‘base’)@section(‘content’)

Anak IT - Table Kontak

@if(Session::has(‘alert-success’))
{{ \Illuminate\Support\Facades\Session::get(‘alert-success’) }}
@endif
@php $no = 1; @endphp @foreach($data as $datas) @endforeach
No.FilenameFileAksi
{{ $no++ }}{{ $datas->name }}
{{ csrf_field() }} {{ method_field(‘DELETE’) }} Edit
@endsectionKalo udah saatnya kita buat views baru bernama file_create.blade.php lagi lagi paste in kode dibawah

@extends(‘base’)@section(‘content’)

Anak IT - Upload File


{{ csrf_field() }}
@endsectionThanks to agan Sapirudin yang udah ngingetin saya salah lewat komentar ini.Wah iya ampe lupa buat Model nya, kita buat Model dulu kasih nama file. Nih paste aja kode dibawah

php artisan make:model Filejangan lupa diedit model File.php

**<?phpnamespace **App;**use **Illuminate\Database\Eloquent\Model;**class **File **extends **Model{ **protected **$table = ‘file’; //cek ke table File}Kalo udah kita lanjut lagi, maap ya lupa banget tadi wkwk

udah kan sekarang saatnya lanjutin ke logic nya.

Yuk masukin code ini ke Controller File.php kalian.

name = $request->input('name'); $file = $request->file('file'); $ext = $file->getClientOriginalExtension(); $newName = rand(100000,1001238912).".".$ext; $file->move('uploads/file',$newName); $data->file = $newName; $data->save(); return redirect()->route('file.index')->with('alert-success','Data berhasil ditambahkan!'); }}Thanks untuk agan [M Anshi Dicky](https://medium.com/@muhammadashidicky) udah sedikit koreksi.Itu dia codingan untuk ngeliat data (read) dan store (create). Sekarang set routes nya dulu bro! Buka routes -> web.php dan masukkan routesnya dibawah Route::*resource*('file','File');Nah harusnya sekarang kamu udah bisa upload file ![Image](https://cdn-images-1.medium.com/max/800/1*hpKpC3XVK0AiZvivST234g.png) Sekarang kita buat file baru di views, berinama **file_edit.blade.php** dan masukkan kode dibawah @extends('base')@section('content')

Anak IT - Edit File


{{ csrf_field() }} {{ method_field('PUT') }}
@endsectionSekarang saatnya masukin logic untuk nge edit dan delete data. /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // $data = \App\File::findOrFail($id); return view('file_edit',compact('data')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $data = \App\File::findOrFail($id); $data->name = $request->input('name'); if (empty($request->file('file'))){ $data->file = $data->file; } else{ unlink('uploads/file/'.$data->file); //menghapus file lama $file = $request->file('file'); $ext = $file->getClientOriginalExtension(); $newName = rand(100000,1001238912).".".$ext; $file->move('uploads/file',$newName); $data->file = $newName; } $data->save(); return redirect()->route('file.index')->with('alert-success','Data berhasil diubah!'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $data = \App\File::findOrFail($id); $data->delete(); return redirect()->route('file.index')->with('alert-success','Data berhasil dihapus!'); }Perhatikan baris nomor 27. if(empty(/*code*/)) menandakan adalah jika input itu kosong maka dia akan tetep gunain file lama, berarti kalian gaperlu takut dan bingung kalo dia kosong dan gaakan error. Nah sekarang harusnya sudah berhasil semua function. Kalo gue sih berhasil nih ya ![Image](https://cdn-images-1.medium.com/max/800/1*3OlSr3wZI6DVntsEgCFkbQ.png) ![Image](https://cdn-images-1.medium.com/max/800/1*LO9AT2C8pjxFdhnVUSLWLw.png) Oke sekian tutorial dari gue ya gue harap dengan adanya tutorial ini lo semakin mau untuk belajar dan belajar! ![Image](https://cdn-images-1.medium.com/max/800/1*SbH7Qe3dhSpSCQMooJdZXA.gif) --- *Artikel ini merupakan konten legacy dari blog Medium (Tahun 2017). Beberapa konsep atau sintaks mungkin sudah mengalami perubahan pada versi terbaru.*