Membuat Multiple File Upload

previous Previous Page

Suatu website yang dinamis kadang membutuhkan inputan data berupa file dalam jumlah banyak dan lebih dari satu. File tersebut dapat berisi data gambar (png, jpg, jpeg), data dokumen (doc, txt, pdf, xls) dan lainnya. Jika Anda mengirimkan file tersebut satu per satu tentunya akan membuang waktu secara sia-sia. Anda dapat melakukan modifikasi terhadap halaman pengiriman file kedalam bentuk multiple pengiriman file. Kemudian mengirimkan file tersebut sekaligus hanya dalam satu kali kirim.

Untuk membuat halaman web dengan multiple file upload, diperlukan dua buah file "upload.php" sebagai formulir untuk memasukkan file-file yang akan dikirim dan file "upload2.php" untuk mengirimkan file dan menyimpannya di server.

Konsep dari file "upload.php" adalah saat pengguna selesai memasukkan file pertama, inputan file yang kedua akan muncul dibawahnya. Begitu juga saat pengguna selesai memasukkan file kedua, inputan file ketiga akan muncul dibawahnya lagi dan seterusnya. Inputan file disini dibatasi dengan jumlah 5 buah file, namun Anda dapat menambahkan jumlah tersebut sesuai dengan kebutuhan.

File upload.php

PHP

1.  <html>
2.  <style>
3.    form input{margin:3px;padding:3px 5px;}
4.    #file2,#file3,#file4,#file5{display:none;}
5.  </style>
6.  <body>
7.    <h4>Membuat Multiple File Upload</h4>
8.    <form name="form1" id="form1" action="upload2.php" enctype="multipart/form-data" method="post">
9.      Masukkan file untuk di upload :<br/>
10.     <input type="file" name="file1" id="file1" onChange="document.getElementById('file2').style.display='block';">
11.     <input type="file" name="file2" id="file2" onChange="document.getElementById('file3').style.display='block';">
12.     <input type="file" name="file3" id="file3" onChange="document.getElementById('file4').style.display='block';">
13.     <input type="file" name="file4" id="file4" onChange="document.getElementById('file5').style.display='block';">
14.     <input type="file" name="file5" id="file5" >
15.     <p><input type="submit" value="kirim"/> <input type="reset" value="reset" /></p>
16.   </form>
17. </body>
18. </html>

Penjelasan script diatas, Pada saat halaman dibuka, beberapa input bertipe file tidak akan dimunculkan penampakannya. Hal ini dilakukan dengan mengatur tampilan style CSS dengan display:none; "file2,#file3,#file4,#file5{display:none;}". Lalu saat inputan file pertama diklik, dengan memanfaatkan javascript, inputan kedua dimunculkan kembali dengan melalui even handler onChange dengan merubah style display:none menjadi display:block, script = onChange="document.getElementById('file2').style.display='block'";, dan seterusnya sampai dengan inputan file ke-empat, namun pada inputan file yang ke-lima tidak akan memunculkan inputan file lagi karena merupakan batas akhir.

multiple upload file
multiple upload file

File upload2.php

PHP

1.  <?php
2.    $notifikasi="";
3.    for ($x=1; $x<=5; $x++){
4.    $tmp_file=$_FILES["file".$x]['tmp_name']; //temporary file
5.    $nama_file=$_FILES["file".$x]['name'];
6.    $tipe_file=$_FILES["file".$x]['type'];
7.    $uk_file=$_FILES["file".$x]['size']; //ukuran file
8.    
9.    $dir_tujuan="data/"; //direktori tujuan
10.   
11.     if(!empty($tmp_file)){
12.       $move=move_uploaded_file($tmp_file,$dir_tujuan.$nama_file);
13.       if($move==true){
14.         $notifikasi .= "Nama file : <b>".$nama_file."</b> berhasil di upload <br/>";
15.       }else{
16.         $notifikasi .= "Nama file : <b>".$nama_file."</b> gagal di upload <br/>";
17.       }
18.     }
19.   }
20.   echo $notifikasi;
21. ?>

Pada file upload2.php, pengambilan data file dilakukan dengan menggunakan perulangan "looping for" untuk menangkap data secara bersamaan. Nilai maksimal perulangan adalah nilai 5 yang merupakan jumlah file yang akan diproses. Variabel global $_FILES akan mengambil data setiap file seperti file temporary, nama file sampai dengan ukuran file. File-file yang berhasil ditangkap akan dipindahkan dan di simpan kedalam server dengan perintah "move_uploaded_file". Jika berhasil (kondisi true) akan menugaskan variabel notifikasi dengan teks berhasil diupload, jika gagal akan menugaskan variabel notifikasi dengan teks gagal diupload.

Jika Script diatas dijalankan akan menghasilkan tampilan seperti gambar dibawah ini :

multiple upload file

Tampilan file explorer pada folder "data/", terlihat daftar file yang berhasil dikirim dan disimpan pada folder tersebut.

multiple upload file

   0   1.262

Kategori : tag iconhtml - tag iconjavascript - tag iconphp

facebooktwittergoogle pluswhatapplinkedinpinterest

previous Previous Page

Tinggalkan Balasan

Nama Pengguna* :

Email* :

 

Formulir ini hanya bagi member yang sudah terdaftar. disini.

Belum terdaftar? silahkan Daftar disini.

Mengirim Komentar

Setiap pengunjung situs ini dapat memposting komentar disini, namun tidak semua komentar dapat ditampilkan. Gunakan kalimat baku bahasa Indonesia yang mudah dimengerti. Dilarang memposting kalimat yang berisi ujaran kebencian, SARA, pornografi, perjudian dan spam. Komentar harus sesuai dengan topik. Untuk bahasan lainnya yang lebih mendalam dapat menggunakan sarana forum. Anda dapat mengirimkan suatu pertanyaan dan member lainnya akan menjawab pertanyaan Anda.

News Letters

Silahkan masukkan email Anda untuk berlangganan informasi kami

Polling

1. Apakah website ini menambah pengetahuan Anda?
 Ya
 Tidak
 Tidak Tahu
2. Seberapa sering Anda mengunjungi website ini?
 Sering
 Jarang
 Tidak Pernah
3. Apakah penilaian Anda terhadap website ini, jika melihat dari segi konten/isi?
 Sangat Bagus
 Bagus
 Cukup Bagus
 Kurang Bagus
4. Apakah penilaian Anda terhadap website ini, jika melihat dari segi tampilan?
 Sangat Bagus
 Bagus
 Cukup Bagus
 Kurang Bagus
5. Untuk meningkatkan kualitas website ini, Apakah saran Anda?

 

Silahkan login terlebih dahulu untuk mengirimkan polling. disini.

Belum terdaftar? silahkan Daftar disini.