| Prime Time

Β Laravel #31 : Hapus File Dengan Laravel

Hapus File Dengan Laravel

Jika teman-teman mengikuti tutorial laravel sebelumnya di malasngoding.com tentang membuat upload file ke database mysql dengan laravel, maka kita sudah punya form penginputan atau upload file, dan kita juga sudah menampilkan data dan gambar yang sudah diupload.

Saya ulas kembali apa saja yang sudah kita miliki sekarang dalam project laravel membuat upload dan hapus file dengan laravel ini.

Table

Table gambar dengan kolum seperti berikut :


  • id
  • file
  • keterangan
  • created_at
  • updated_at

Baca kembali selengkapnya di tutorial upload file dengan laravel.

Routes => roures/web.php

Controllers => app/Http/Controllers/UploadController.php

View => resources/views/upload.blade.php

Model => app/Gambar.php

Hasil nya seperti berikut.

upload dan hapus file dengan laravel

upload dan hapus file dengan laravel

Hapus File Dengan Laravel

Kita mulai proses penghapusan data dan filenya. perhatikan pada tampilan di atas, pada data yang tampil kita sudah membuat tombol untuk menghapus data dan gambar dengan laravel.

Silahkan perhatikan pada view upload.blade.php.

Kita sudah membuat link/tombol hapus yang akan mengarahkan halaman ke route /upload/hapus/{id} sambil mengirimkan id yang ingin dihapus data dan file gambarnya.

Maka sekarang kita buat route baru untuk menangani proses penghapusan data.

routes/web.php

Sehingga menjadi seperti berikut.

route /upload/hapus/{id} ini akan memproses method hapus() dalam controller UploadController.php.

Sekarang mari kita buat method hapus() dalam controller UploadController.php.

app/Http/Controllers/UploadController.php

pada method ini kita menangkap data id yang dikirim melalui url. yaitu id data yang ingin dihapus. kemudian kita ambil datanya dari table gambar. kenapa kita ambil data gambar yang berdasarkan id ini? karena kita butuh nama file gambar yang ada pada record data ini.

BACA : Mengambil Data Dengan Eloquent Laravel

Setelah kita memiliki nama file nya,  maka kemudian kita hapus menggunakan fungsi delete() yang berasal dari class File pada laravel.

Ingat !, upload gambar yang sebelumnya kita buat, file gambar nya kita buat dalam folder β€œdata_file” dalam folder β€œpublicβ€œ. karena segala sesuatu yang berhubungan dengan file di laravel, folder public selalu menjadi prioritas.

Karena kita menggunakan class File, maka kita wajib memanggilnya terlebih dulu.

Sehingga keseluruhan isi controller UploadController.php sekarang seperti berikut.

Bagian terakhir dari method hapus() ini kita mengalihkan halaman kembali ke halaman sebelumnya dengan fungsi redirect()->back().

Hapus Data Beserta Gambar Dengan Laravel

Oke sekarang kita lihat hasilnya, Akses project kita dengan menjalankan php artisan serve. kemudian akses localhost:8000/upload.

Coba klik HAPUS pada salah satu record data yang ada.

hapus file dengan laravel

hapus file dengan laravel

Sekarang data akan hilang.

hapus data dan gambar dengan laravel

hapus data dan gambar dengan laravel

Kita cek juga pada folder data_file, apakah gambar berhasil dihapus.

delete file dengan laravel

delete file dengan laravel

Oke selesai. sekarang kita sudah berhasil membuat upload file dengan laravel, dan kita juga telah berhasil membuat proses hapus data beserta gambar dengan laravel.