Tom: Verzeichnis auslesen und Seiten erweitern, wenn zuviel Dateien

Beitrag lesen

Hello Engin,

<?php

$img_folder = "bilder1/";

$_filenames = glob($img_folder.'*.*');

echo "<pre>\n";
     echo htmlspecialchars(print_r($_filenames,1));
     echo "</pre>\n";

?>

Schau mal, was dieses Stück Code als Ausgabe liefern würde, und zeig uns mal zwanzig Zeilen davon...

Also wenn ich das so übernehme wie oben kommt eine fehlermeldung,

Parse error: syntax error, unexpected '.' in C:\xampp\anonymous\nispetlocal\nispet-galerien\bayram\index.php on line 23

Der Slash war da leider reingerutscht.
Wo aber Division by Zero herkommt, kann ich nicht nachvollziehen.

Herauskommen muss soetwas ähnliches:

Array
(
    [0] => bilder1/Cat1.gif
    [1] => bilder1/Hello.gif
    [2] => bilder1/Weihnachtsmann.gif
    [3] => bilder1/cat2.gif
    [4] => bilder1/gelesen.gif
    [5] => bilder1/mail.gif
    [6] => bilder1/ungelesen.gif
    [7] => bilder1/vorher_lesen.txt
)
Das ist dann also der Inhalt des Verzeichnisses

Den hattest Du ja mit Deiner anderen Methode auch schon fast richtig abgefragt. Allerdings hättest Du keine Datei namens "0" abfragen können, da das While-Statement falsch ist.

Nun müssen wir doch erstmal überlegen, ob das alles Bilder sein können.
Das kann man mit getimagesize() ermitteln.
http://de2.php.net/manual/en/function.getimagesize.php

if (is_array($_filenames))       ## hat glob() uns ein Array geliefert?
{
  foreach ($_filenames as $key => $name)  ## für jedes Element schauen, ob es ein Bild ist
  {
    if (false === @getimagesize($name))
    {
      unset($_filename[$key]);            ## wenn es keins ist, den Eintrag entfernen
    }
  }
}

Wenn Du Deine Bilder nun noch sortieren willst, kannst Du damit auch gleich den Index neu aufbauen lassen:

sort($_filenames);

Danach sind die Lücken, die wir vorher geschossen haben, durch Neuanordnung/Aufrücken wieder geschlossen.

Nun wollen wir ja nicht alle 100 Files ausgeben lassen, sondern nur diejenigen, die auf die Seite sollen.

$pagerows = 10;   ## Festlegen, wieviele auf eine Seite sollen:
$active_page = 0; ## wir nehmen an, dass wir auf der Seite 0 beginnen

if(isset($_POST['ctrl']['active_page']))
{
  $active_page = intval($_POST['ctrl']['active_page']);
}

$active_row = $active_page*$pagerows;  ## nächsten Index berechnen
$stop = $active_row + $pagerows;

while (isset($_filenames[$active_row]) and $active_row < $stop)
{
  ## link generieren
  $active_row++;
}

wenn active_page > 0 ist, den Link auf die Vorgängerseite generieren

echo "<input type="hidden" name="ctrl['active_page']" value="$active_page" />\n";

Wenn $active_row == $stop ist, den Link auf die Nachfolgeseite generieren

So ungefähr kann es funktionieren.

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

0 106

Verzeichnis auslesen und Seiten erweitern, wenn zuviel Dateien

Engin
  • php
  1. 0
    Tom
    1. 0
      Engin
      1. 0
        ChrisB
        1. 0
          Tom
          1. 0
            bleicher
            1. 0
              Tom
        2. 0
          Engin
        3. 0
          mbr
      2. 0
        Tom
        1. 0
          Engin
          1. 1
            Tom
            1. 0
              Engin
              1. 0
                Tom
                1. 0
                  Engin
                  1. 1
                    Tom
                    1. 0

                      Danke!

                      Engin
                      1. 0
                        Engin
                        1. 0

                          Schön geworden.

                          Tom
                          1. 0
                            Engin
                            1. 0

                              galeriescript Stufe 2

                              Tom
                              1. 0
                                Engin
                                1. 0
                                  Engin
                                  1. 0
                                    Engin
                                    1. 0
                                      Tom
                                      1. 0
                                        Engin
                                        1. 0
                                          Tom
                                          1. 0
                                            Engin
                                            1. 0
                                              Tom
                                              1. 0
                                                Tom
                                                1. 0
                                                  Engin
                                                  1. 0

                                                    galeriescript Version 0.3

                                                    Tom
                                                    1. 0
                                                      Engin
                                                      1. 0
                                                        Tom
                                                        1. 0

                                                          galeriescript Version 0.3b, Sortierung geändert

                                                          Tom
                                                        2. 0
                                                          Engin
                                                          1. 0

                                                            galeriescript Version 0.3b mit natsort()

                                                            Tom
                                                            1. 0
                                                              Engin
                                                              1. 0
                                                                Tom
                                                                1. 0
                                                                  Engin
                                                                  1. 0
                                                                    Tom
                                                                    1. 0
                                                                      Engin
                                                                      1. 0

                                                                        Eingeschlafen?

                                                                        Tom
                                                                        • menschelei
                                                                        1. 0
                                                                          Engin
                                                              2. 0

                                                                Version 0.3b, Parse-Error

                                                                Tom
                                                                1. 0
                                                                  Engin
                                                                  1. 0

                                                                    Version 0.3c, Pagination mit Direktlink

                                                                    Tom
                                                                    1. 0
                                                                      Engin
                                                                      1. 0
                                                                        Tom
                                                                        1. 0

                                                                          Validator

                                                                          Tom
                                                                          1. 0
                                                                            Engin
                                                                            1. 0

                                                                              Bildergalerie Planung für Version 0.4

                                                                              Tom
                                                                              1. 0
                                                                                Engin
                                                                                1. 0

                                                                                  Bildergalerie Planung für Version 0.4 Nachtrag

                                                                                  Engin
                                                                                  1. 0
                                                                                    Tom
                                                                                    1. 0
                                                                                      Engin
                                                                                    2. 0

                                                                                      Bildergalerie Planung für Version 0.4, meine erste variable :)

                                                                                      Engin
                                                                                      1. 0
                                                                                        Tom
                                                                                        1. 0
                                                                                          Engin
                                                                                          1. 0

                                                                                            Bildergalerie Version 0.4, Thumbs erzeugen

                                                                                            Tom
                                                                                            1. 0
                                                                                              Engin
                                                                                              1. 0

                                                                                                Bildergalerie, make_thumbs_02

                                                                                                Tom
                                                                                                1. 0
                                                                                                  Engin
                                                                                                  1. 0
                                                                                                    Engin
                                                                                                    1. 0

                                                                                                      THREAD fortsetzen oder neuen aufmachen?

                                                                                                      Tom
                                                                                                      • zu diesem forum
                                                                                                      1. 0
                                                                                                        Engin
                                                                                                        1. 0
                                                                                                          Tom
                                                                                                          1. 0
                                                                                                            Engin
                                                                                                            1. 0
                                                                                                              Tom
                                                                                                              1. 0
                                                                                                                Engin
                                                                                                          2. 0
                                                                                                            Engin
                                                                                                            1. 0

                                                                                                              Gallery Planung

                                                                                                              Tom
                                                                                                              • php
                                                                                                              1. 0
                                                                                                                Engin
                                                                                                              2. 0
                                                                                                                Engin
                                                                                                              3. 0
                                                                                                                Engin
                                                                                                                1. 0
                                                                                                                  Tom
                                                                                                                  1. 0
                                                                                                                    Engin
                                                                                                                    1. 0

                                                                                                                      Mögliche Kommentar funktion

                                                                                                                      Engin
                                                                                                                      1. 0

                                                                                                                        erster erfolgreicher include test

                                                                                                                        Engin
                                                                                                                      2. 0
                                                                                                                        Tom
                                                                                                                        1. 0
                                                                                                                          Engin
                                                                                                                          1. 0

                                                                                                                            Speicherverwaltung für Bildverarbeitung

                                                                                                                            Tom
                                                                                                                            1. 0
                                                                                                                              Engin
                                                                                                                              1. 0
                                                                                                                                Tom
                                                                                                                                1. 0
                                                                                                                                  Engin
                                                                                2. 0
                                                                                  Tom
                                                                                  1. 0
                                                                                    Engin
                                                                        2. 0
                                                                          Engin
                                        2. 0
                                          Tom
                                          1. 0
                                            Tom
                                            1. 0
                                              Engin
                                              1. 0
                                                Tom
                                        3. 0
                                          Tom
                                          1. 0
                                            Engin
                                    2. 0
                                      Tom
                                  2. 0
                                    Tom
                          2. 0
                            Engin
                            1. 0

                              Ein Galeriescript entsteht

                              Tom
                          3. 0
                            Der Martin
                            1. 0
                              Engin
                  2. 0
                    Auge
                    1. 0
                      Engin
                      1. 0
                        Auge
                        1. 0
                          Engin
        2. 0
          mbr
          1. 0
            Tom