kostenloser Webspace werbefrei: lima-city


readdir & Seiten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    l**********e


    Mit folgenden Code les ich die Dateinnamen aus ein Verzeichnis aus und packe sie in ein img-html-tag:
    <?php
    $ordner=opendir("Ordner/");
    $i = 1;
    while(($datei=readdir($ordner))!=false)
    {
      if($datei!="." && $datei!="..")
      {
        printf ("$i<br><img src=\"Ordner/$datei\" height=\"400\" width=\"400\"><br>");
        $i = $i + 1; 
      }
    }
    ?>


    Im Ordner selbst sind natürlich nur Bilddatein.
    Diese werden auch Sauber ausgegeben.
    Das probelm ist nur das man 80 Bilder nicht einfach auf einmal ausgeben kann wenn jede so um die 300-600KB groß ist.
    Natürlich könnte man jetzt sagen einfach Bilder bearbeiten doch bei 80-100 Bilder ist dies ziehmlich umständlich.
    Also dachte ich an Seiten.

    Mit den Seiten hab ich selbst kein Probelm, aber wie soll ich das machen das jeweils zb nur 10 Bilder auf einer Seite angezeigt werden?

    Ich fordere keine Lösung sondern nur logische Ideen dazu und mögliche befehle.
    Alles andere werd ich mir selbst dazu Lesen da ich der meinung bin das es nichts bringt etwa abzukopieren.

    schön abend noch
    LoS
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ein naiver Ansatz wäre einfach zuerst einmal
    for(i=0;i<(aktuelle_seite-1)*10;i++)readdir($ordner);
    Zu machen, damit die Dateien auf den "vorherigen Seiten" einfach nacheinander verworfen werden.

    Bei Dateizeigern gibt es eine Funktion namens fseek() , mit der man den Dateizeiger relativ elegant innerhalb einer Datei wandern lassen kann. Eine equivalente Funktion bei Verzeichniszeigern ist mir leider nicht bekannt. Damit wäre es aber eleganter lösbar, als mit einer for-Schleife.


    Anschließend benutzt du dann:
    $bildzahl=0;
    while(($datei=readdir($ordner))!=false)
    {
    $bildzahl++;
    printf ('blabla mit <img src="$datei und so...');
    if($bildzahl==10)break;
    }

    Diese Schleife hat damit 2 Abbruchbedingungen: Entweder das 10. Bild wurde angezeigt, oder es gibt keine weiteren Bilder mehr im Verzeichnis.
  4. t****u

    Warum lässt du die Bilder nicht alle als Thumbnails darstellen? Das kostet zwar ein wenig Renderzeit des Servers - aber dafür erhälst du einen guten Überblick und musst nicht jedes Bild laden (10*350KB ~~ 3,4MB). Die Thumbnails könntest du dann speichern.

    Link zum Manual: http://de.php.net/gd/
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!