03. upload file dengan php

6
[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

Upload: dhanang-fitra

Post on 25-Jun-2015

833 views

Category:

Education


0 download

DESCRIPTION

03. upload file dengan php

TRANSCRIPT

Page 1: 03. upload file dengan php

[PHP TUTORIAL] Class Activity

UPLOAD DOWNLOAD FILE

Dalam perancangan web aplikasi, proses upload dan download file sangatdiperlukan. Teknik yang digunakan dalam upload file adalah memisahkan file kedalam folder tertentu, sedangkan yang disimpan di dalam database adalah linkyang 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 nantidigunakan sebagai acuan untuk proses download dan hapus file.

Field ‘name’ untuk menyimpan nama file, ‘type’ untuk menyimpan tipe file apakahtermasuk 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 tempatpenyimpanan file (folder data).

Langkah pertama dalam pembuatannya adalah, kita siapkan terlebih dahulu formuntuk upload filenya.

form.html

Ver 1.0 [by-dfr] Page 1

Page 2: 03. upload file dengan php

[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 kitataruh ke dalam folder yang namanya ‘data’.

upload.php

Perhatikan script di atas. Dalam script di atas terdapat antisipasi seandainya fileyang diupload memiliki nama yang sama. Proses uploadnya sendiri tidak adamasalah, karena begitu nama file yang diupload sudah ada, maka secara otomatisakan mereplace file yang lama.

Ver 1.0 [by-dfr] Page 2

Page 3: 03. upload file dengan php

[PHP TUTORIAL] Class Activity

Namun, hal ini akan menjadi kendala di database. Bila tidak diantisipasi, maka bisajadi terdapat dua atau lebih data nama file yang sama. Oleh karena itu sebelumentri informasi file yang diupload ke database perlu ada pengecekan terlebihdahulu, ada tidaknya nama file tersebut dalam database. Jika sudah ada, makayang terjadi adalah proses update informasi saja, khususnya size dari file tersebut.

Setelah informasi file yang akan diupload disimpan dalam database, barulah filetersebut diupload ke folder ‘data’ menggunakan perintah move_uploaded_file();

Ingat!!!. Sebelum Anda mengupload file, folder ‘data’ harus telah dibuat. Folder iniletaknya selevel dengan script uploadnya.

Selanjutnya kita buat script untuk menampilkan daftar file yang telah berhasildiupload. 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 untukmenghapus filenya. Untuk proses download dan hapus ini menggunakan nomor iddari file sebagai acuannya.

Berikut ini tampilan hasil dari script list.php dengan 3 buah file yang telah berhasildiupload

Ver 1.0 [by-dfr] Page 3

Page 4: 03. upload file dengan php

[PHP TUTORIAL] Class Activity

Kemudian untuk script download nya sebagai berikut :

download.php

Supaya memberikan proses download begitu file diklik pada list.php, maka perludibuat header file sebagaimana script di atas. Bila tidak diberikan header berisiinformasi 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

Page 5: 03. upload file dengan php

[PHP TUTORIAL] Class Activity

Terakhir, bagaimana dengan script untuk menghapus file? Konsepnya adalah terjadi2 proses penghapusan, yaitu menghapus informasi file yang ada pada tabeldatabase, dan menghapus file dalam folder ‘data’. Untuk menghapus file yang telahdiupload ke folder, digunakan perintah unlink();

hapus.php

Perhatikan script hapus.php di atas! Dalam script tersebut terdapat prosesmembaca nama file yang akan dihapus berdasarkan id nya. Nama file ini nantinyaakan dijadikan acuan dalam proses menghapus file dalam folder menggunakanunlink().

Ver 1.0 [by-dfr] Page 5

Page 6: 03. upload file dengan php

[PHP TUTORIAL] Class Activity

TUGAS :

1. Buatlah aplikasi untuk menyimpan file gambar (.jpg, .bmp, .png, .gif) dan filedokumen (.zip, .rar, .doc, .pdf), kemudian tampilkan dalam browser.

2. Gabungkan dengan Class Activity sebelumnya Insert, Update, Delete biodatadan nilai mahasiswa/siswa.

Ver 1.0 [by-dfr] Page 6