Digitalmapia adalah situs dimana semua orang bisa menulis artikelnya sendiri. Klik "Login/Register untuk masuk, lalu klik "Tulis Artikel" untuk mulai menulis.

Cara upload file menggunakan framework Laravel 4

Kali ini kita akan membahas cara upload file pada Laravel. Melakukan upload pada Laravel termasuk hal yang cukup mudah. Berikut saya contohkan cara membuat file upload pada laravel.

Buat form upload

Pertama-tama yang akan kita buat tentunya form upload. Form upload yang akan kita buat akan kita panggil melalui route utama. Buka app/routes.php dan ubah route utama menjadi sebagai berikut:

Route::get('/', function()
{
	return View::make('imageupload');
});

Selanjutnya, pada app/views kita buat view imageupload.blade.php:

{{ Form::open(array('action' => 'ImageController@store', 'enctype' => 'multipart/form-data')) }}

{{ Form::file('image') }}

{{ Form::submit('submit') }}

{{ Form::close() }}

Perhatikan bahwa pada form diatas terdapat 'enctype' => 'multipart/form-data', jika atribut tersebut tidak dibuat maka file tidak akan bisa diupload. Selanjutnya, kita buat route dimana form tersebut diarahkan:

Route::post('image/upload', ImageController@store);

Lalu, pada app/controllers buat sebuah controller ImageController.php sebagai berikut:

if (Input::hasFile('image'))
{
	$file     = Input::file('image');
	$filename = str_random(25).'-'.$file->getClientOriginalName();

	$destinationPath = 'uploads/image/';
    $file->move($destinationPath, $filename);

}

Pastikan, direktori uploads/image/ anda buat pada direktori public. Setelah itu jalankan program diatas, maka file yang anda pilih akan masuk (terupload) ke dalam direktori yang dituju.

Semoga Bermanfaat.

Laravel Wallpapper
  • Irvan Agung Santosa

    mas, punya saya kok ketika masuk alamat “image/upload” tidak bisa masuk ke controllernya ya ,

    • http://digitalmapia.com/ digitalmapia

      Ups maaf gan yang :
      Route::get(‘image/upload’, ImageController@store);

      harusnya:

      Route::post(‘image/upload’, ImageController@store);

  • Irvan Agung Santosa

    iya, mas udh saya ganti pake “post” tp ttep ga bs ..

    • Irvan Agung Santosa

      sama di Route::post(‘image/upload’, ImageController@store);

      (ImageController@store) harus ada tanda petiknya (‘)..

    • Irvan Agung Santosa

      sudah bisa mas ,, makasih 😀