Zum Inhalt springen

[PHP] Bildergallery weiterblätter/nächste datei im DIR


Empfohlene Beiträge

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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...