Tutoria PHP ini menjelaskan cara melakukan upload, download, dan penghapusan file dengan PHP dengan menyimpan link file di database, bukan file itu sendiri. Langkahnya adalah membuat form dan script PHP untuk upload ke folder, simpan linknya ke database, kemudian buat script untuk menampilkan daftar file, download, dan hapus file dengan menghapus data dari database dan file fisik.
Modul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptx
03. upload file dengan php
1. [PHP TUTORIAL]
Class Activity
UPLOAD DOWNLOAD FILE
Dalam perancangan web aplikasi, proses upload dan download file sangat
diperlukan. Teknik yang digunakan dalam upload file adalah memisahkan file ke
dalam folder tertentu, sedangkan yang disimpan di dalam database adalah link
yang merujuk ke dalam folder. Jadi file tidak disimpan ke dalam database. Ingat!!
File tidak disimpan dalam database.
Berikut Langkah-langkahnya :
Buat Database dengan nama db_latihan dengan nama table tb_upload.
Database tersebut untuk menyimpan properti dari file yang diupload.
CREATE TABLE tb_upload (
id int(11) auto_increment,
name varchar(30),
type varchar(30),
size int(11),
location varchar(200),
PRIMARY KEY (id)
)
Keterangan :
Field ‘id’ digunakan untuk menyimpan nomor id dari file. Nomor id ini nanti
digunakan sebagai acuan untuk proses download dan hapus file.
Field ‘name’ untuk menyimpan nama file, ‘type’ untuk menyimpan tipe file apakah
termasuk file image (gif, jpeg, atau bmp), atau file tipe lain.
Field ‘size’ terkait dengan ukuran dari file (dalam satuan bytes).
Field ‘location’ untuk menyimpan link file yang merujuk ke folder tempat
penyimpanan file (folder data).
Langkah pertama dalam pembuatannya adalah, kita siapkan terlebih dahulu form
untuk upload filenya.
form.html
Ver 1.0 [by-dfr]
Page 1
2. [PHP TUTORIAL]
Class Activity
Form di atas, misalkan kita batasi size maksimum file yang diupload adalah 3MB.
Hasil dari form di atas adalah seperti pada gambar di bawah ini
Selanjutnya, kita buat script upload.php nya. Sebelumnya, kita buat folder 'data'
jadi sati root folder dengan file php. Kita asumsikan file yang diupload nantinya kita
taruh ke dalam folder yang namanya ‘data’.
upload.php
Perhatikan script di atas. Dalam script di atas terdapat antisipasi seandainya file
yang diupload memiliki nama yang sama. Proses uploadnya sendiri tidak ada
masalah, karena begitu nama file yang diupload sudah ada, maka secara otomatis
akan mereplace file yang lama.
Ver 1.0 [by-dfr]
Page 2
3. [PHP TUTORIAL]
Class Activity
Namun, hal ini akan menjadi kendala di database. Bila tidak diantisipasi, maka bisa
jadi terdapat dua atau lebih data nama file yang sama. Oleh karena itu sebelum
entri informasi file yang diupload ke database perlu ada pengecekan terlebih
dahulu, ada tidaknya nama file tersebut dalam database. Jika sudah ada, maka
yang terjadi adalah proses update informasi saja, khususnya size dari file tersebut.
Setelah informasi file yang akan diupload disimpan dalam database, barulah file
tersebut diupload ke folder ‘data’ menggunakan perintah move_uploaded_file();
Ingat!!!. Sebelum Anda mengupload file, folder ‘data’ harus telah dibuat. Folder ini
letaknya selevel dengan script uploadnya.
Selanjutnya kita buat script untuk menampilkan daftar file yang telah berhasil
diupload. Konsepnya hanyalah membaca informasi file yang ada dalam database.
list.php
Dalam list file di atas, informasi yang ditampilkan adalah nama file dan sizenya.
Selain itu pada nama file tersedia link untuk download dan tersedia juga link untuk
menghapus filenya. Untuk proses download dan hapus ini menggunakan nomor id
dari file sebagai acuannya.
Berikut ini tampilan hasil dari script list.php dengan 3 buah file yang telah berhasil
diupload
Ver 1.0 [by-dfr]
Page 3
4. [PHP TUTORIAL]
Class Activity
Kemudian untuk script download nya sebagai berikut :
download.php
Supaya memberikan proses download begitu file diklik pada list.php, maka perlu
dibuat header file sebagaimana script di atas. Bila tidak diberikan header berisi
informasi file seperti di atas, maka isi file akan tampil di halaman web.
Berikut ini tampilan yang muncul setelah salah satu file diklik untuk didownload
Ver 1.0 [by-dfr]
Page 4
5. [PHP TUTORIAL]
Class Activity
Terakhir, bagaimana dengan script untuk menghapus file? Konsepnya adalah terjadi
2 proses penghapusan, yaitu menghapus informasi file yang ada pada tabel
database, dan menghapus file dalam folder ‘data’. Untuk menghapus file yang telah
diupload ke folder, digunakan perintah unlink();
hapus.php
Perhatikan script hapus.php di atas! Dalam script tersebut terdapat proses
membaca nama file yang akan dihapus berdasarkan id nya. Nama file ini nantinya
akan dijadikan acuan dalam proses menghapus file dalam folder menggunakan
unlink().
Ver 1.0 [by-dfr]
Page 5
6. [PHP TUTORIAL]
Class Activity
TUGAS :
1. Buatlah aplikasi untuk menyimpan file gambar (.jpg, .bmp, .png, .gif) dan file
dokumen (.zip, .rar, .doc, .pdf), kemudian tampilkan dalam browser.
2. Gabungkan dengan Class Activity sebelumnya Insert, Update, Delete biodata
dan nilai mahasiswa/siswa.
Ver 1.0 [by-dfr]
Page 6