Setelah sekian lama, akhirnya ada waktu untuk membuat artikel tutorial tentang PHP kembali, dan ini merupakan lanjutan dari artikel saya sebelumnya, ini lebih advance dibandingkan yang lalu, karena sistem upload gambar, bukan lagi single upload tetapi multiple upload yang bisa Anda tentukan sendiri berapa banyak gambar yang akan Anda upload.
Artikel ini telah ditayangkan perdana ditempat biasa, yaitu ILMU KOMPUTER, tampat yang paling membuat saya terpacu untuk kembali membuat tutorial, walaupun tutorial saya masih relatif sedikit.
Tapi saya akan menjelaskan sedikit kepada Anda jika Anda sudah mendownload file pendukung dari tutorial ini, yaitu:
<form action="action.php" method="post" enctype="multipart/form-data">
< ? for ($i; $i<10; $i++){ ?>
<input name=”photo[]” size=”30? type=”file” /><br />
< ? } ?>
<input name=”submit” type=”submit” value=”Upload” />
</form>
Dari kode diatas, disana kita menentukan array dari variable sembarang, saya menggunakan (i) sebagai contoh, dan array tersebut kita tentukan sama 10, dalam artian bahwa kita akan mengupload seluruh gambar, dan jangan lupa untuk mengupload file HARUS menyertakanenctype="multipart/form-data" pada menu form agar file yang Anda upload benar-benar terupload.
Pada menu action.php saya akan menjelaskan kinerja sistemnya lebih lanjut
$PhotoFileName = $_FILES['photo']['name']; // dapatkan informasi nama file
$jumlah=count($PhotoFileName); // jumlahkan berapa banyak file yang dimasukkan
$i=0;
while ($i< =$jumlah){
// membaca file
$TmpFileName = $_FILES['photo']['tmp_name']; // menempatkan file upload ditmp server sementara
// membuat file bisa dibuka dan dibaca
$TempFile = fopen($TmpFileName[$i], "r");
$BinaryPhoto = fread($TempFile, fileSize($TmpFileName[$i]));
$ErrorReporting = error_reporting(E_ALL & ~(E_WARNING)); // lupakan warning yang akan muncul
$SrcImage = imagecreatefromstring($BinaryPhoto); // untuk membuat image
error_reporting($ErrorReporting); // sistem pelaporan jika ada sistem yang error
if (!$SrcImage){
die ("Maaf sistem tidak bisa membaca $PhotoFileName[$i]. Pilihlah file gambar lainnya.");
}
// mendapatkan informasi tinggi dan lebar gambar
$nWidth = imagesx($SrcImage);
$nHeight = imagesy($SrcImage);
// membuat rasio gambar thumbnail secara otomatis dengan lebar 100px atau tinggi 100pixel dilihat dari gambar asli bagian mana yang ukurannya lebih besar
$ratio = max($nWidth, $nHeight) / 100;
$ratio = max($ratio, 2.0);
// tentukan tujuan gambar tersebut dari lebar dan tinggi yang telah ditemukan
$destWidth = (int)($nWidth / $ratio);
$destHeight = (int)($nHeight / $ratio);
// tentukan dimana file tersebut akan diupload
$dir = "images/";
$uploadfile = $dir . $PhotoFileName[$i];
// membuat Thumbnail File
$DestImage = imagecreatetruecolor($destWidth, $destHeight);
$DestTrueImage = imagecreatetruecolor($nWidth, $nHeight);
@imagecopyresampled($DestTrueImage, $SrcImage,0, 0, 0, 0, $nWidth, $nHeight, $nWidth, $nHeight); // resize the image
@imagecopyresampled($DestImage, $SrcImage,0, 0, 0, 0, $destWidth, $destHeight, $nWidth, $nHeight); // resize the image
$BinaryThumbnail = "thumb_".$PhotoFileName[$i]."";
$ThumbDir = $dir.$BinaryThumbnail;
ob_start(); // Memulai capturing file asli
// jika ingin membuat file JPG
@imagejpeg($DestImage,$dir.$BinaryThumbnail,"80");
$BinaryThumbnail = ob_get_contents(); // the raw jpeg image data.
ob_end_clean(); // Dump the stdout so it does not screw other output.*/
if (!$uploadfile) {
die ("Maaf, kami tidak bisa mengupload file : $sPhotoFileName");
} else if (!move_uploaded_file($TmpFileName[$i], $uploadfile)) {
die ("File asli Tidak Terupload");
} else {
echo "Terupload, <a href=\"upload.php\">Kembali ke Upload File</a>";
$i++;
}
}
Code $_FILES merupakan bentuk laporan ke server bahwa akan ada file yang dikirimkan. Anda bisa melihat hasil kodingan tersebut yang sudah saya sediakan dokumentasinya di dalam scriptnya langsung. Tapi yang paling penting adalah, sistem membaca berapa banyaknya file yang diupload dengan aturan ini:
$PhotoFileName = $_FILES['photo']['name']; // dapatkan informasi nama file
$jumlah=count($PhotoFileName); // jumlahkan berapa banyak file yang dimasukkan
$i=0;
while ($i< =$jumlah){
..............
$i++;
}
?>
Selamat mencoba, jika Anda memiliki kesulitan, seperti biasa Anda bisa langsung menghubungi saya lewat email.
File Pendukung:
1. Tutorial
2. Script
Popularity: 29% [?]
siip.. penjelasannya enak dipahami.. wah cocok jadi penulis neh
Ha3x… bisaan aja neh si om ridwan, dari dulu memang sudah menjadi penulis… penulis Ilmu Komputer he3x…
wah tutorialnya oke mbk,
saya sangat tertarik nie….
boleh dicoba mbk ya???
sippp… ini yang dicari-cari thank’s Sis …