pc-nico Geschrieben 26. September 2005 Geschrieben 26. September 2005 Hallo, vielleicht stell ich mich zu dumm an, aber ich finde keine lösung.... ich möchte folgendes machen: wenn ein Bild angezeigt wird, soll darunter automatisch ein link gesetzt werden, der zur nächsten/vorherigen Datei im Verzeichnis führt. mit Opendir & while schleife bekomme ich ja nur alle Dateien im DIR. :confused: :confused: Zitieren
McMaiers Geschrieben 26. September 2005 Geschrieben 26. September 2005 Hi, ganz einfach. Du liest dir das VErzeichnis aus, und schriebt alle Dateien in einen Array. Musst aufpassen das die Ordnerzeichen "." und ".." nicht mit in den Array wandern. Dann kannst die Fotos darstellen und mit dem Link auf das Arrayelement +1 oder -1 zugreiffen! Weiter musst du überprüfen das das Arrayelement nicht in den negativen Bereich geht, und das das Element nicht die Anzahl der Menge der ausgelesenen Fotos übersteigt! Hoffe es hilft cu mcmaiers Zitieren
pc-nico Geschrieben 28. September 2005 Autor Geschrieben 28. September 2005 Hallo Leute, habs hinbekommen. Hier mal die lösung für alle die es vielleicht auch mal brauchen.... Die Datei gallery.php (ihr wird per URL der Pfad zum Bild übergeben, zb images/pics/bild10.jpg, gespeichter in $foto) <html> <head> <title>.....</title> </head> <body> <a href='javascript:parent.close()'> <? $bildinfo = getimagesize($foto); echo "<script language=\"JavaScript\" type=\"text/javascript\">"; echo "window.resizeTo(" . ($bildinfo[0]+70) . "," . ($bildinfo[1]+130) . ")"; echo "</script>"; echo "<div align=\"center\"><img alt='..schließen..' border=0 src='" . $foto . "'></a></div>"; $ordner=dirname($foto); $ordner.="/"; $datei=basename($foto); $handle=opendir($ordner); // Ordner in dem die Bilder sind wird geöffnet while ($file = readdir ($handle)) // while, weil nicht klar ist wieviele Dateien im Ordner sind, also werden hier die Dateien ausgelesen { if ($file != "." && $file != ".." && $file != "thumb" && $file!= "index.php") // diese Muster aus dem Array ausschließen { $array[] = $file; // Die Dateien aus dem Ordner werden in ein array gepackt } } closedir($handle); // Schließt den Ordner wieder sort($array); // Sortiert das $array $letzte_datei = count($array); // Welches ist die letzte Datei im Verzeichnis (achung gibt eine zahl mehr als der letzte Array index, weil array mit 0 startet $index = array_search($datei,$array ) ; // Welche nummer hat das aktuelle bild im array? ?> <br> <br> <table width="100%"> <tr> <td align="left"> <? if ($index >= 1) { echo "<a href=\"gallery.php?foto=" . $ordner.$array[$index-1] . "\">"; echo "<img src=\"images/links.gif\" border=\"0\">"; echo "</a>"; } ?> </td> <td align="center"> <? echo "Bild " . ($index+1) . "/" .$letzte_datei; ?> </td> <td align="right"> <? if ($index <= ($letzte_datei-2)) { echo "<a href=\"gallery.php?foto=" . $ordner.$array[$index+1] . "\">"; echo "<img src=\"images/rechts.gif\" border=\"0\">"; echo "</a>"; } ?> </td> </tr> </table><br> <? /*Debug echo "<pre>"; print_r($array); echo "Ordner: " .$ordner; echo "\nDatei: ". $datei; echo "\nNummer:" . array_search($datei,$array ) ; echo "\nlast:" . count($array); echo "</pre>"; */ ?> </body></html> [/php] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.