Reklam
Klasördeki Resimleri Gösterme, Sayfalama ve Link Verme

Klasördeki Resimleri Gösterme, Sayfalama ve Link Verme

Klasördeki resimleri bir tablo içinde listeleyen ve sayfalayan bir sistem, klasör içindeki bütün resimleri çeker.
Not: Klasördeki bütün dosyaları çektiğinden dolayı klasörde varsa “Thumbs.db” dosyasınıda listeler.

<table width="750" bgcolor="#f4f4f4" border="0" cellspacing="0" cellpadding="8" align="center">
	<tr>
		<td valign="top"> 
			<center> 

			<?php 
			// resimleri çekme alanı
			$dizin = "klasoradi/"; // resminizin bulunduğu yolu yazınız örn: " klasor/ "
			$tutucu = opendir($dizin); // dizin aç
			while($dosya = readdir($tutucu)){ 
				if(is_file($dizin.$dosya)) 
					$resim[] = $dosya; 
				} 
				closedir($tutucu); 

				// ön bilgiler 
				$limit = 10; // sayfada gösterilecek resim sayısı
				$sf = @$_GET["sf"]; // get metodu ile sayfa numarasını alma // get başındaki '@' işareti sayfa numarası yok ise hata vermesini önler
				if($sf < 1) $sf = 1; 
				$toplam = count($resim); // toplam resim sayısı

				// bu bilgiler doğrultusunda sayfa ayarları
				$kactan = ($sf-1) * $limit; 
				$kaca = ($kactan+$limit); 
				if($kaca > $toplam) $kaca = $toplam; 

				// $kactan başlayıp $kaca kadar resim basar
				for($i=$kactan; $i < $kaca; $i++){ 
					echo " 
						<a href='".$dizin."/".$resim[$i]."' target='_blank'> 
							<img onContextMenu='return false' src='".$dizin.$resim[$i]."' width='100' height='100' border='0'></a> "; 
				} 
				//dizindeki resimleri listeler ve yeni sekmeye link olarak atar
				// onContextMenu='return false' kodu resime sağ tıklamasını engeller

				// birden başlayıp sayfa sayısı kadar link basar
				echo "<br>";
				$lastP = ceil($toplam/$limit); // ceil komutu sayfa numaraları yuvarlamak için kullanılır örn: ceil(0.40) gibi bir değeri 1 olarak alır
				for($i=1; $i <= $lastP; $i++){ 
					if($sf == $i) {
						echo $i." "; // geçerli olan sayfa numarası
					}else{ 
						echo "<a href='index.php?sf=$i'>$i</a> "; // diğer sayfa numaraları
					}
				}
			?> 

			</center>
		</td>
	</tr>
</table>

 


Yorum Yapın

Eposta adresiniz görünmeyecektir.

yirmi + 2 =