[PHP] Scrollen in einer Bilder Gallery per PHP

squadron

Mitglied
Seid gegrüßt, Freunde der Nacht!

Zum Verständniss ist es besser wenn man sich die Grafik am Ende meines Posts einmal anschaut!

Erst einmal folgender Code:

PHP:
<?php

//===Konfiguration
$direc = "$galleryname";                // PFAD
//===
?>
<?php
$picdir = opendir ($direc);

while ($res2 = readdir ($picdir))
      {
           $pfad_info = pathinfo($res2);

        if($pfad_info["extension"] == 'jpg')
         {
            if($i+){
                    $back = "gallery_showpic.php?galleryname=$galleryname&res=$res2";
                    }
            if($i-){
                    $forward = "gallery_showpic.php?galleryname=$galleryname&res=$res2";
                    }
        }
    }

closedir($picdir);
?>

<table width="900" height="600" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="left" width="50"><a href="<?php echo $back; ?>"><img name="" src="" width="32" height="32" alt=""></a></td>
    <td align="center" valign="middle"><img src="<?php echo "$galleryname/$res" ?>" width="800" height="600" alt=""></td>
    <td align="right" width="50"><a href="<?php echo $forward; ?>"><img name="" src="" width="32" height="32" alt=""></a></td>
  </tr>
</table>

Zum Code:
Ich weis selbst das dieser Code hier totaler Schwachsinn ist! (Es werden alle Bilder in $res2 ausgegeben und bei ausgabe nur das letzte angezeigt!) Was ich leider nicht weis ist, wie es richtig funktioniert.

$galleryname und $res werden durch einen Link weitergegeben und enden dann, wie man oben sehen kann, im Script!

Da ich bei diesem Script keine Datenbank benutzen möchte, sondern meine Bilder aus dem Ordner auslese, muss es eine Möglichkeit geben, das letzte Bild und das nächste Bild aus dem aktuellen Bild zu ermitteln (puh :) ). Würde das mit Arrays gehn die automatisch erzeugt werden (weil man vielleicht auch mal ein Bild löscht/hinzufügt etc.) und wenn ja (wobei ich mir ziemlich sicher bin) wie? Codeschnipsel würden mir schon reichen, niemand ist hier verpflichtet mir ein fertiges Script zu liefern (außer man hat einen gewissen Zwang es einfach zu tun :) ).

Ich würde mich über eine Antwort freuen!

Gruß,
Niko
 

Anhänge

  • Unbenannt-1.gif
    Unbenannt-1.gif
    3,2 KB · Aufrufe: 65
Ich hab mir deinen Code jetzt nicht ganz genau angeguckt. Hoffe mal das war kein Fehler. :)


Du kannst ja das gesamte Verzeichnis ein ein Array einlesen. Dann registrierst du dieses Array im Session Array. Die weiter und zurück Buttons geben einfach einen Zahlenwert weiter. Du verlinkst am besten immer auf die gleiche .php

Soviel zur Theorie. :-)

PHP:
session_start();
 
$v //ist der Übergabeparameter
 
if(!isset($_SESSION['bilder']){
//Hier die Bilder neu einlesen.
}
else{
echo "<a href='./bilder.php?v="$v-1"'>zur&uuml;ck</a><img src='./bilder/"$_SESSION['bilder'][$v]"><a href='./bilder.php?v="$v+1"'>vorw&auml;rts</a>";
}

Ist natürlich ungetestet und hat noch den kleinen Bug, dass bei Bild 0 ein Falscher zurücklink entsteht das kannst aber mit einer kleinen if beheben. Wenn noch Fragen sind nur her damit. :)
 
//EDIT

PHP:
<?php
session_start();

if(!isset($_SESSION['bilder']){
									array(readdir ($galleryname));
								}
								else{
										echo 	"<a href='./gallery_showpic.php?res="$galleryname"/"$res-1"'>zur&uuml;ck</a>
												<img src='./$galleryname/"$_SESSION['bilder'][$res]">
												<a href='./gallery_showpic.php?res="$galleryname"/"$res+1"'>vorw&auml;rts</a>";
									} 
?>

Ich könnte mir das Ganze so vorstellen, aber er gibt einen Fehler in Zeile 4 aus:
PHP:
if(!isset($_SESSION['bilder']){


Gruß,
Niko
 
Zuletzt bearbeitet:
PHP:
<?php
session_start();

$dir = "$galleryname"; //wird per Link übergeben! genau so wie $res!
$odir = opendir ($dir);
$res = readdir ($odir);

if(!isset($_SESSION['bilder']))	{
									$_SESSION['bilder'] = $res;
								}
								else{
										echo 	"<a href='gallery_showpic.php?galleryname=$galleryname&res=\"$res-1\"'>zur&uuml;ck</a>";
										echo	"<img src='$galleryname/\"$_SESSION[bilder][$res]\">";
										echo	"<a href='gallery_showpic.php?galleryname=$galleryname&res=\"$res+1\"'>vorw&auml;rts</a>";
									} 
									
?>

So müsstest du es gemeint haben?! Allerdings schaltet er das Bild nicht weiter geschweigedenn, dass er ein Bild anzeigt!

Gruß,
Niko
 
Zuletzt bearbeitet:
Zurück