Ini adalah posting yang ke empat tentang upload gambar dengan PHP,
Postingan Sebelumnya adalah
Mengupload gambar dengan PHP
Mendeteksi type dan ukuran dalam mengupload gambar PHP
Meresize gambar sesuai yang kita inginkan dengan PHP
Mengupload lebih dari satu gambar sekaligus multiple upload dengan PHP
disini saya hanya menambahkan beberapa parameter untuk mengupload lebih dari satu gambar sekaligus.
Anda dapat merubah jumlah form input sesuka anda.
Berikut ini langkah-langkah a b c nya :
a. buat file upload_empat.php
<form enctype="multipart/form-data" action="upload_empat_proses.php" method="POST">
Upload file <br />
< ?php
$jumlahForm = 10;
for($i=1;$i<=$jumlahForm;$i++) {
echo 'gambar '.$i.' : <input name="foto'.$i.'" type="file" /><br />';
}
echo '<input type="hidden" name="jumlahForm" value="'.$jumlahForm.'" />';
?>
<input type="submit" value="Proses Upload" />
</form>
Silahkan masukkan jumlah form yang anda inginkan di varible $jumlahForm di atas.
c. buat file upload_empat_proses.php
< ?php
//konfigurasi file gambar
$typeGambar = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif');//type gambar yg di ijinkan
$ukuranMin = 1000; //ukuran minimum, dlm byte
$ukuranMax = 100000; //ukuran maximum, dlm byte
$folderTujuan = './foto_user/'; //folder dimana file akan di letakkan
$folderThumbs = './foto_user_thumbs/'; //folder dimana file thumbs akan di letakkan
$lebarGambar = 110;//ukuran lebar gambar hasil resize
$prefix = 'thumbs_';//nama awal utk file yg di resize
function resizeGambar($pathFileTujuan,$lebarGambar,$folderThumbs,$namaFileTujuan,$prefix){
$tipe = ereg_replace(".*\.(.*)$","\\1",$pathFileTujuan);
@header("Content-type: image/".$tipe);
list($lebar,$tinggi) = getimagesize($pathFileTujuan);
$lebar_baru = $lebarGambar;
$tinggi_baru= ($lebar_baru/$lebar) * $tinggi;
// proses copy resize
$gambar_baru = imagecreatetruecolor($lebar_baru, $tinggi_baru) or die('Problem In Creating image');
if($tipe=='jpg' || $tipe=='jpeg') {
$gambar_asli = imagecreatefromjpeg($pathFileTujuan) or die('Problem In opening Source JPEG Image');
} elseif($tipe=='gif') {
$gambar_asli = imagecreatefromgif($pathFileTujuan) or die('Problem In opening Source GIF Image');
} elseif($tipe=='png') {
$gambar_asli = imagecreatefrompng($pathFileTujuan) or die('Problem In opening Source PNG Image');
}
imagecopyresampled($gambar_baru, $gambar_asli, 0, 0, 0, 0, $lebar_baru, $tinggi_baru, $lebar, $tinggi) or die('Problem In resizing');
// Keluaran
if($tipe=='jpg' || $tipe=='jpeg') {
imagejpeg($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan,100) or die('Problem In saving JPEG');
} elseif($tipe=='gif') {
imagegif($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan) or die('Problem In saving GIF');
} elseif($tipe=='png') {
imagepng($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan) or die('Problem In saving PNG');
}
//hapus resource gambar
imagedestroy($gambar_baru);
imagedestroy($gambar_asli);
}
function cekType($fileFoto,$typeGambar) {
$typeFile = strtolower($fileFoto[type]);
if(in_array($typeFile,$typeGambar)) {
return true;
} else {
return false;
}
}
function cekUkuran($fileFoto,$ukuranMin,$ukuranMax) {
if($fileFoto[size] > $ukuranMin AND $fileFoto[size] < $ukuranMax) {
return true;
} else {
return false;
}
}
function namaFileTujuan($fileFoto,$folderTujuan){
$fileTujuan = $folderTujuan.$fileFoto['name'];
$namaFile = $fileFoto['name'];
if(file_exists($fileTujuan)) { //jika nama file sudah ada, rename sesuai dengan urutan
$i=0;
while (file_exists($fileTujuan)) {
$fileTujuan = $folderTujuan.$i.'_'.$fileFoto['name'];
$namaFile = $i.'_'.$fileFoto['name'];
$i++;
}
}
return $namaFile;
}
function prosesUpload($fileFoto,$pathFileTujuan) {
if (@move_uploaded_file($fileFoto['tmp_name'], $pathFileTujuan)) {
echo 'Upload file di '.$pathFileTujuan.' Sukses<br>';//sukses
} else {
echo 'Upload file di '.$pathFileTujuan.' gagal<br />';//upload gagal
}
}
for($i=1;$i< =$_POST[jumlahForm];$i++) {
$foto = 'foto'.$i;
$fileFoto = $_FILES[$foto];//mengambil nilai file gambar
if($fileFoto[name]!='') {
$cekType = cekType($fileFoto,$typeGambar);//cek type file
$cekUkuran= cekUkuran($fileFoto,$ukuranMin,$ukuranMax);//cek ukuran file
if($cekType) {
if($cekUkuran) {
$namaFileTujuan = namaFileTujuan($fileFoto,$folderTujuan);//cek file tujuan upload,
$pathFileTujuan = $folderTujuan.$namaFileTujuan;//membuat alamat file tujuan
$prosesUpload = prosesUpload($fileFoto,$pathFileTujuan);//proses upload
$prosesResized = resizeGambar($pathFileTujuan,$lebarGambar,$folderThumbs,$namaFileTujuan,$prefix); //proses resize
} else {
echo 'Ukuran gambar no '.$i.' tidak diijinkan<br>';
}
} else {
echo 'Type gambar no '.$i.' tidak diijinkan<br />';
}
} else {
echo 'File no '.$i.' kosong<br />';
}
}
echo '<br />';
echo 'Klik <a href="upload_empat.php">disini</a> untuk kembali';
?>
File ini hampir sama dengan posting sebelumnya, hanya ada tambahan iterasi untuk memproses jumlah gambar yang akan diupload.
Silahkan kembangkan sendiri, di otak-atik juga bisa.
Moga bermanfaat yach..





















Juli 17th, 2008 at 16:02
mas punten ah.. cara masukin nama images yg udah kita upload ke databes gimana.. supaya namanya bisa ditampilin guna untuk menampilkan gambar yg udah kita aplot di halaman webset kita
Juli 17th, 2008 at 17:26
Alangkah lebih baik kl di simpan di folder aja filenya. Tapi nama filenya saja yang di record di database, nah untuk mengambil informasi nama file yang di upload, anda bisa mengambil kembalian / return pada fungsi dengan parameter $fileFoto[’name’]
Silahkan mencoba
Agustus 20th, 2008 at 09:57
ssssssiiiiiiiiiiipppppppppp……….. multiupload gw banget…. dicari2 cara loopingnya ternyata kok gampang bener…….
thx alot
Januari 4th, 2009 at 17:45
mas websitenya udah saya bikin dgn dreamweaper, tapi begitu saya Upload kok gambarnya gak kelihatan ya. apa ada yang salah ya. SAya pernah pake FrontPage ok-ok aja. Tapi disni saya menemukan masalah yang lebih sulit lagi. Mohon bantuanyya dong mas, mg tambah sukses ilmunya.
Februari 26th, 2009 at 03:39
wah mas thanks buanget tutorialnya… sips mudah di pelajari… ijin ikutan belajar PHP
April 15th, 2009 at 16:23
kalo bikin databasenya gmana?
Mei 4th, 2009 at 12:13
om minta script upload multi image yang lengkap jangan setengah2x
Juli 30th, 2009 at 17:44
gimana script nya kalo gambar yang kita upload dirubah nama filenya.. misalkan foto.jpg diganti dengan 101.jpg saya butuh banget nih… karena soalnya dah bisa di upload saat upload gambar yg beda tapi nama filenya sama saat pemanggilan gambar hanya 1 yang tampil terus tidak bisa gantian.. gitu
Mei 10th, 2010 at 20:57
kang piye carane edit data base???????