Bagi para mahasiswa, membuat fungsi upload (single) pasti sudah terbiasa diajarkan di kampus, entah itu upload gambar, file, dsb. Nah, bagaimana jika kondisinya kita yang menentukan? upload suka-suka seberapa banyak dalam 1 kali eksekusi.. Maksudnya kita pilih angka 4, maka akan ditampilkan / tersedia 4 buah text upload, jika kita pilih 3, maka akan ditampilkan / tersedia 3 buah text upload.
Nah.. teknik upload yang satu ini, bakal bikin Anda semakin semangat untuk mempelajari PHP.. bahkan terus.. terus.. terus.. terussss.. akh.. ga nahan deh buat nongkrong didepan komputer.. Secara definisi, istilah dynamic multiple ini merupakan suatu proses upload “Semau Gue”.. jadi intinya, kita mau upload berapa banyak file pun bisa.. karena disini kita akan melibatkan teknik Javascript, yang dapat me-load box upload secara otomatis.. adapun skripnya seperti berikut:
Skrip form_multiple.php
<script type="text/javascript">
function show()
{
var n = document.myform.jumfile.value;
var i;
var string = "";
for (i=0; i<=n-1; i++) {
string = string + "Pilih File: <input name="userfile"+ i + "" type="file"><br>";
}
document.getElementById('selectfile').innerHTML = string;
document.myform.n.value = n;
}
</script>
<form name="myform" enctype="multipart/form-data" action="upload.php" method="POST">
Pilih Jumlah File
<select name="jumfile" onchange="show()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select><br><br>
<input type="hidden" name="MAX_FILE_SIZE" value="20000000" />
<div id="selectfile"></div><br>
<input type="hidden" name="n"/>
<input type="submit" name="submit" value="Upload" />
</form>
Selanjutnya buatlah file php untuk proses aksi mengupload, dengan nama upload.php
Skrip upload.php
<?php
$n = $_POST['n'];
// setting nama folder tempat upload
$uploaddir = 'data/';
for ($i=0; $i<=$n-1; $i++) {
// membaca nama file yang diupload
$fileName = $_FILES['userfile'.$i]['name'];
// membaca ukuran file yang diupload
$fileSize = $_FILES['userfile'.$i]['size'];
// nama file temporary yang akan disimpan di server
$tmpName = $_FILES['userfile'.$i]['tmp_name'];
// menggabungkan nama folder dan nama file
$uploadfile = $uploaddir . $fileName;
// proses upload file ke folder 'data'
if ($fileSize > 0) {
if (move_uploaded_file($tmpName, $uploadfile)) {
echo "File ".$fileName." telah diupload<br>";
}
else {
echo "File ".$fileName." gagal diupload<br>";
}
}
}
?>
Buatlah 1 folder baru dengan folder data (sesuai dengan letak penyimpanan file upload) didalam 1 folder bersama-sama dengan skrip file diatas. Hasilnya dapat Anda lihat pada gambar berikut:
Source code dapat didownload disini
Semoga tutorial kali ini bisa memberikan manfaat untuk Anda.
Febri
Kalo menggunakan database bagaimana mas?
AGUS SAPUTRA
Febri @ masukan saja query SQL nya di dalam perintah:
if (move_uploaded_file($tmpName, $uploadfile)) {
// skrip penyimpanan ke database disini
}
Nama gambar yang dimasukan ke dalam kueri adalah $uploadfile
surya
kalo untuk menampilkan hasil upload caranya gimana ya..?
AGUS SAPUTRA
surya @ untuk menampilkan hasil upload (contoh gambar), cukup menggunakan ,
Contoh pada perintah echo "File ".$fileName." telah diupload
";
Ubah menjadi:
matnur
kalu mau masukain ke data base di SQL PHPMYADIM gimana gan ?
AGUS SAPUTRA
mathur @ $fileName nya yang disimpan ke dalam database mas