PHP ile Dizin içindeki resimleri gösterelim

Eski dostum PHP! Sektörün acımasız yanlarından biri olan hiç kod yazmadan yazılım şirketi (aslında website yapan-satan) yöneten bir arkadaşıma ihtiyaç duyduğu için ufak bir destekte bulundum. En son kaç yıl önce PHP ile uğraştığımı bile hatırlamıyorum halbuki. Sadede gelirsek image gallery’si bozulduğu için temel bir listeleme uygulamasına ihtiyacı vardı. Basitçe gösterdiği dizin içinde bulunan resimleri alacak, kalanı da JQuery halledecekti zaten.


Değişkenlerimiz şöyle;

$dizin değişkeni ile resimlerin bulunduğu sanal adresi gösteriyoruz
$satirLimit ile kaç resim sonra yeni satıra geçmesini istediğimizi belirliyoruz
$dir ile dizini açıyoruz
$dosya ile de dizin içindekileri okuyoruz
$satir ile dizinin kaçıncı resminde olduğumuzu sayıyoruz.

Tek fonksiyonumuz olan uzanti() ise $dosya ile okunan dosya isimlerini nokta(.)’yı baz alarak parçalayıp, dizinin son elemanı olan uzantıyı geri döndürüyor.

Geri dönen uzantı bilgisine göre de filtreleyip ekrana basıyoruz.

Gerçekten çok basit bir script. Demosunu şuraya koydum :

www.mustak.org/tools/php_dizin_denemesi

 

Kodumuz kabaca şöyle;

<?
/*
	hmustak - http://mustak.org/
	hmustak@gmail.com
	18.08.2016
*/
$dizin = "img/"; // Dizini gösterelim
$satirLimit = 6;

// Uzantının ne oluğunu görelim
function uzanti($file_name) {
	return end(explode('.',$file_name));
}

$dir = opendir($dizin);

	$satir = 0; // 6 imajda bir Alt satıra geçmesini sağlayalım
	
	//Dizindeki dosya listesini alalım
	while (($dosya = readdir($dir)) !== false){	

		if(! is_dir($dosya)){ 
			//Dosya uzantımıza göre sınırlamamız
			if ((uzanti($dosya)=="jpg")||
				(uzanti($dosya)=="JPG")||
				(uzanti($dosya)=="jpeg")||
				(uzanti($dosya)=="JPEG")||
				(uzanti($dosya)=="gif")||
				(uzanti($dosya)=="GIF")){

				//Satır için resim adedini sayıyorduk
				$satir++;

				// Filtremiz uygunsa ekrana basalım
				echo "<a href=\"".$dizin.$dosya."\">";
				echo "<img src=\"".$dizin.$dosya."\" width=\"161\" height=\"123\" border=\"0\" />";
				echo "</a>";
				
				// Satır belirlenen limite geldiyse yeni satıra geçsin
				if ($satir==$satirLimit){
					echo "<br />\n";
				}else{
					echo "\n";
				}
				
			}//--if uzantı
		}//--if is_dir
	}//--while

closedir($dir); //İşimiz Bitti

?>

 

 

Hakan Müştak @2016


Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

*

Captcha Kontrolü * Zaman aşımı, sayfayı tekrar yükleyin


Top