Andi: Paging von Dateien

Hi,
Ich habe eine Frage. Ich habe einen Ordner in dem Bilder gespeichert sind.
Alle Bilder auszulesen und aufzuführen ist kein Problem.

  
  
$bilderreihe = "3"; //Anzahl Bilder in einer Reihe  
$beschreibungsdatei = "beschreibung.txt";  
$zaehlen = "1";  
$loeschvariable = $ordner;  
$ordner = "pics/".$ordner;  
$handle = opendir($ordner);  
  
$file = file ("$ordner/beschreibung.txt");  
list ($var,$veranstaltung) = explode ("=",stripslashes($file[0]));  
list ($var,$ort) = explode ("=",stripslashes($file[1]));  
list ($var,$datum) = explode ("=",stripslashes($file[2]));  
list ($var,$fotografen) = explode ("=",stripslashes($file[3]));  
  
  
  
echo "  
<center>  
<fieldset style='width:90%;'>  
 <legend>".$veranstaltung."</legend>  
<br>  
  <div class='abstandtop' align='left'><b>Location:</b> ".$ort."<br><b>Datum:</b> ".$datum."<br><b>Fotografen:</b> ".$fotografen."</div><br><br>  
<table class='tbl' width='100%' cellspacing='0' cellpadding='6'>  
<tr>";  
  
  
while ($file = readdir ($handle)) {  
    if($file != "." && $file != "..") {  
        if(is_dir($ordner."/".$file)) {  
            echo "/".$file."<br/>";  
        } else {  
            // kompletter Pfad  
            $compl = $ordner."/".$file;  
  
  
//Bildberechnung für Breite und Höhe der Thumbs  
$image_info = getimagesize ( $compl );  
$filetype = $image_info[2];  
  
if ( $filetype == 1 ) { $image = imagecreatefromgif ( $compl ); }  
if ( $filetype == 2 ) { $image = imagecreatefromjpeg ( $compl ); }  
if ( $filetype == 3 ) { $image = imagecreatefrompng ( $compl ); }  
  
$width = imagesx ( $image );  
$height = imagesy( $image );  
  
$height_thumb = 120;  
$width_thumb = $width / ( $height / $height_thumb );  
  
  
  
  
            if($zaehlen == $bilderreihe) {  
               if($file != $beschreibungsdatei) {  
               echo "<td align='center'><a href='index.php?aktion=bildanzeigen&bild=".$compl."' target='popupname' onclick=\"javascript:popup('index.php?aktion=bildanzeigen&bild=".$compl."','popupname','width=650,height=430,directories=no,toolbar=no,location=no,menubar=no,scrollbars=yes,status=no,resizable=no,dependent=no')\"><img src='".$compl."' width='".$width_thumb."px' height='".$height_thumb."px' style='border:#000000; border-width:1px; border-style:solid;'></a></td></tr><tr>";  
               $zaehlen = "1";  
               }  
            }  
            else {  
               if($file != $beschreibungsdatei) {  
               echo "<td align='center'><a href='index.php?aktion=bildanzeigen&bild=".$compl."' target='popupname' onclick=\"javascript:popup('index.php?aktion=bildanzeigen&bild=".$compl."','popupname','width=650,height=430,directories=no,toolbar=no,location=no,menubar=no,scrollbars=yes,status=no,resizable=no,dependent=no')\"><img src='".$compl."' width='".$width_thumb."px' height='".$height_thumb."px' style='border:#000000; border-width:1px; border-style:solid;'></a></td>";  
               $zaehlen++;  
               }  
            }  
        }  
    }  
}  
closedir($handle);  
  
echo "</tr>  
</table>  
</fieldset>  
</center>";  
  

Aber ich kriege es nicht hin, dass 12 Bilder auf einer Seite angezeigt werden und man zu den anderen Seiten blättern kann (Stichwort Paging). Weiß jemand wie ich das machen kann oder kann mir helfen?
Wenn ich Paging mit Hilfe von Zeilen machen will (Gästebuch) ist das auch kein Problem.

  
  
$gbook = file($dateiname);  
  
###########Seitenzahlen###########  
$eintraege = 10; // Anzahl der Eintraege pro Seite  
if(!isset($limit)) $limit = 0;  
$anz = count($gbook);  
  
$anz_pages = ceil($anz/$eintraege);  
$curr_page = $limit/$eintraege;  
######################  
  
$x = $limit;  
$max = $limit + $eintraege;  
  
do  
{  
$eintrag ++;  
$nummer = 1 + $anz - $eintrag;  
  
  
if ($x == $max || $x > $anz || $anz == $x) break;  
$line = trim($gbook[$x]);  
$gbook[$x] = explode("||",$line);  
$name = $gbook[$x][0];  
$ip = $gbook[$x][1];  
$mail = $gbook[$x][2];  
$icq = $gbook[$x][3];  
$homepage = $gbook[$x][4];  
$datum = $gbook[$x][5];  
$text = make_smilies($gbook[$x][6]);  
$kommentar = $gbook[$x][7];  
  
require ("table.tpl");  
  
    $x++;  
  
}while(1);  
  
  
echo "<table cellspacing=\"0\" cellpadding=\"2\" width=\"430\"><tr><td><div align=\"left\"><font class=\"small\"><b>Eintr&auml;ge: $anz<br>";  
echo "Seite:";  
###########Seitenzahlen###########  
for($a=0;$a<$anz_pages;$a++)  
{  
    if($a != $curr_page) {  
        echo "&nbsp;<a href=\"index.php?aktion=gaestebuch&limit=". ($a*$eintraege) ."\" target=\"_self\">". ($a+1) ."</a></b>";  
    }  
    else {  
        echo "&nbsp;[".($a+1)."]</b>";  
    }  
}  
######################  
  

Wenn ich aber das Ganze verbinden will, bekomme ich eine Endlosschleife bei der irgendwann der PC auf dem ich das Script teste, abstürzt.

Danke im Voraus.

Gruß Andi

  1. Hello,

    Zur Erstellung der Blätterbuttons:
    http://forum.de.selfhtml.org/archiv/2004/8/t87972/#m523873

    Außerdem schau Dir mal die Funktion glob() an.
    http://de3.php.net/manual/de/function.glob.php

    Und dann kannst Du die Namen der Create-Funktionen einfach in ein Array packen

    http://forum.de.selfhtml.org/archiv/2004/9/t89211/#m532846

    Wenn dann der Index im erlaubten Bereich ist, muss Du nur noch zugreifen.

    Und die

    function null()
    {
      return false;
    }

    Hilft Dir für alle "Lücken" im Array weiter.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau