Menampilkan Gambar Dari Sebuah Folder

Tutorial Menampilkan Gambar Dari Sebuah Folder akan menjelaskan cara menampilkan gambar gambar yang ada di dalam sebuah directory. Tutorial ini sekaligus menjelaskan cara menampilkan isi dari sebuah folder atau directory. Tutorial ini merupakan lanjutan dari tutorial Upload Gambar dengan PHP. Di tutorial ini akan diajarkan cara menampilkan gambar dari sebuah directory seperti di bawah ini.

Gambar dari Folder

Untuk menampilkan isi dari sebuah folder seperti gambar di atas, gunakan script php seperti berikut:

<?php
$folder = "photos"; //folder tempat gambar disimpan
$handle = opendir($folder);
echo '<table cellspacing="2" cellpadding="5">';
echo '<tr>';
$i = 1;
while(false !== ($file = readdir($handle))){
	if($file != '.' && $file != '..'){
		echo '<td style="border:1px solid #000000;" align="center">
			<img src="photos/'.$file.'" width="100" /><br />
			'.$file.'
		</td>';
		if(($i % 4) == 0){
			echo '</tr><tr>';
		}
		$i++;
	}
}
echo '</tr>';
echo '</table>';
?>

Di baris 2 ditentukan di folder mana gambar disimpan. Kemudian di baris 3 menggunakan function opendir untuk membuka sebuah folder atau directory.  Di baris 7 dilakukan perulangan untuk membaca isi dari sebuah folder satu persatu menggunakan function readdir. Function readdir akan me-return nama dari file yang ada di dalam folder atau me-return false jika semua file sudah terbaca atau tidak ada file sama sekali di dalam folder. Di baris 8 dilakukan pengecekan apakah nama file tidak sama dengan '.' dan '..'.

Untuk dapat menampilkan 4 gambar dalam satu baris, maka di baris 13 dilakukan pengecekan apakah sudah ditampilkan 4 gambar, dengan melakukan operasi mod (%) terhadap variabel $i. Bagaimana jika di dalam sebuah folder ada file selain gambar, misalnya pdf atau zip atau yang lainya, maka diperlukan pengecekan ekstensi dari file bersangkutan. Sehingga kode di atas perlu diubah menjadi:

<?php
$folder = "photos";
$handle = opendir($folder);
echo '<table cellspacing="2" cellpadding="5">';
echo '<tr>';
$i = 1;
$fileGambar = array('png', 'jpg', 'jpeg', 'gif');
while(false !== ($file = readdir($handle))){
	$fileAndExt = explode('.', $file);
	if(in_array(end($fileAndExt), $fileGambar)){
		echo '<td style="border:1px solid #000000;" align="center">
			<img src="photos/'.$file.'" width="100" /><br />
			'.$file.'
		</td>';
		if(($i % 4) == 0){
			echo '</tr><tr>';
		}
		$i++;
	}
}
echo '</tr>';
echo '</table>';
?>

Dapat dilihat perubahan pada baris 7, ditambahkan variabel $fileGambar yang berisi array ekstensi tipe file gambar. Kemudian di baris 9 nama file diparse untuk memperoleh ekstensi file menggunakan function explode. Yang terakhir di baris 10 dilakukan pengecekan apakah ekstensi file ada di dalam array $fileGambar.

Selamat Mencoba.

Jika ada pertanyaan tentang tutorial Menampilkan Gambar Dari Sebuah Folder bisa ditanyakan di http://ask.myphptutorials.com