PHP readdir

SharkyXtreme

Grünschnabel
Ich lese ein Verzeichnis in php mit readdir aus, im dem verzeichnis befinden sich bilder die dann als thumbs anklickbar darauf gestellt werden. jetzt will ich aber pro seite nur 12 thumbs angezeigt bekommen wie realisiere ich das ?

hiermal mein bisheriger code

die gesamtzahl der bilder lässt sich ja schnell herausfinden aber wie mache ich jetzt immer nur 12 auf eine siete das krich ich irgentwie nich hin.....
Das ganze wenn es geht ohne Datenbank, danke im voraus

PHP:
<?php
$startzeit=microtime();
?>

<html>
<head>
<title>Bilderbuch</title>
</head>
<body bgcolor="black" text="white" link="white" vlink="white" alink="white">
<?php

$chk_kats_adresse = "bilder";
$chk_kats_handle=opendir ($chk_kats_adresse);

echo"<table width='550'><tr><td><center>|";

while (false != ($chk_kats_file = readdir ($chk_kats_handle))) {
 if($chk_kats_file != ".")
 {
 if($chk_kats_file != "..")
 {
 if(is_dir("bilder/$chk_kats_file"))
 {echo" <a href='show.php?kat=$chk_kats_file'>$chk_kats_file</a> |";}
 else{}
 }
 }
 }
echo"</center></td></tr></table>"
?>

<table width="550">
<tr>

<?php

 if($kat=="")
 {$kat="himmel";}
 else{}

 $i = "0";
 $counting = "0";
 $adresse = "bilder/$kat";
 $nebeneinander = "3";
 $handle=opendir ($adresse);
 while (false != ($file = readdir ($handle))) {
 if($file != "." && $file != "..")
 {
 if($file != "thumbnails" && $file != "Thumbs.db")
 {
 echo"<td><center><a href=\"bilder/$kat/$file\" onclick=\"window.open(this.href,'','toolbar=no,scrollbars=yes,resize=yes,menubar=no,width=500,height=500'); return false;\"><img src='bilder/$kat/thumbnails/$file'></a></center></td>";
 $counting++; $i++;
 if($counting >= "$nebeneinander")
  {
   echo "</tr><tr>";
   $counting = "0";
  }
 }
 }
 }
?>

</tr>
</table>
<table width="550">
<tr><td>
<center>
<a href="admin/index.php" onclick="window.open(this.href,'','toolbar=no,scrollbars=yes,resize=no,menubar=no,width=520, height=350'); return false;">Admin - Menü</a>
</center>
</td></tr>
</table>

<?php
$endzeit=microtime()-$startzeit;
$time=round($endzeit,6);
echo "<br><font size='1'>Diese Page wurde generiert in $time Sekunden.<br>In dieser Kategorie befinden sich $i Bilder.</font>";
?>

</body>
</html>
 
Hey,
übergib dem Skript einfach eine Zahl bei der er anfangen soll die Thumbnails zu zeigen. Also z.B. wenn du ihm eine 0 übergibst dass er die Thumbnails 0 - 11 darstellt, oder wenn er die 12 bekommt das er dann 12 - 23 darstellt usw....

Hoffe das war einigermaßen verständlich... Ist schon recht spät ;)

mfg Daniel
 
naja das problem ist halt das der admin die bilder hochlädt und die dann so namen wie DCIM001.JPG haben wie soll ich da sagen wo er anfangen soll....

und selbst wenn, wie geht das ? ich könnte ja den dateinamen der 12ten datei von oben ermitteln und den dann wietergeben vllt könnt ihr mir ja mal dabei hlefn ich komm irgentwie nicht weiter cu....
 
x = start
y = ende

Na, du list ja das Verzeichniss aus in dem die Bilder liegen.
Dann sagst du ihm das er die ersten x-Bilder nicht verwerten soll.
Wenn er beim ersten zulässigen Bild angekommen ist, dann inkrementierst du bei jedem Durchlauf dein x, und das machst du solange wie x < y ist.
 
vllt liegt es daran das wir 3:40 haben aber irgentwie check ich das nicht, kannst du mir das bitte etwas ausführlicher erklären oder einen xpamle code posten ?
wie sage ich der readdir funktion das die ersten 12 net verwendet werden sollen ?
thx sharkyxtreme
 
Mal etwas Pseudo-Code:
Code:
while (naechste Datei)
 {
  $x+1
  wenn $x >= Startwert und <= Startwert + max. Zahl an anzuzeigenden Bildern
   {
    Thumbnail anzeigen
   }
 }
 
Wenn dann alle Fragen geklaert sind denk bitte daran den Thread als erledigt zu markieren, falls nicht schon geschehen.

Falls Du noch nicht weisst wie das geht, bist ja neu wie ich sehe (darum ich gleich mal "Herzlich willkommen"), dann schau mal unten rechts unter dem letzten Post. Dort gibt es einen Button mit der Aufschrift "Status: nicht erledigt" (oder so). Wenn Du darauf klickst aendert sich die Aufschrift in "Status: erledigt" (oder so). In der Threadliste wird ist der Thread dann abgehakt, sodass andere User wissen, dass in diesem Thread eine Loesung fuer das gestellte Problem gefunden wurde.
 
Zurück