Seite 1 von 1

Bildergalerie mit Popup-Fenster

Verfasst: 03.06.2008 15:51
von player2000
Hallo,

ich bin gerade dabei, eine Bildergalerie zu schreiben, komme aber inzwischen nicht mehr weiter.
Ich komme bis zu dem Punkt, dass er mir alle Thumbnails aus einem bestimmten Ordner ausgibt. Nun möchte ich aber, dass er mir bei klick auf das thumbnail ein popup mit dem originalbild öffnet. Dies wäre mit Javascript kein Problem, jedoch würde da ein weiter/zurück button fehlen, womit ich das nächste bild etc. aufrufen kann.
Ich hoffe ich hab mich halbwegs verständlich ausgedrückt, was mein Problem ist.
Kann mir da jemand weiterhelfen?

Hier mal mein bisheriger Code:

Code: Alles auswählen

 $bilder = array();
 $bild_klein = "pub/multimedia/galerie/".$saison."/".$gruppe."/".$spiel."/thumbnail";
 $bild_gross = "pub/multimedia/galerie/".$saison."/".$gruppe."/".$spiel;

 if ((file_exists($bild_gross)) && (is_dir($bild_gross)))
  {
  $thumbnail = opendir($bild_klein);
  while ($info=readdir($thumbnail)) 
   {
    if (($info != "index.php") AND ($info != ".") AND ($info != "..") AND ($info != "Thumbs.db")) 
     {
     $bildzeile = "<td align=\"center\"><a href=\"javascript:blank('".$bild_gross."/".$info."',750,500)\"><img src=\"".$bild_klein."/".$info."\" width=\"100\" border=\"0\" alt=\"\" style=\"border:1px solid #000000;\" /></a></td>";

      array_push($bilder, $bildzeile);
     }
   }
  closedir($thumbnail); 
 
  sort($bilder);
  $anzahl = count($bilder);
  
  for($i = 0; $i < $anzahl; $i++) 
   { 
   if (($i%5 == 0) && ($i != 0)){echo "</tr><tr class='sub2_table'>";}
   echo "$bilder[$i]"; 
   }
  }

Verfasst: 05.06.2008 02:23
von metty84
dan würde ich dort nicht direkt das bild aufrufen sondern eine phpdatei an die der dateiname als get variable übergeben wird. in der php liest du dan nochmal alle pics aus dem ordner aus, packst die dateinamen in nen array(so sortier wie in der galerie) und entfernst alle enträge bis auf das aktuelle pic, das pic davor und das danach. und dan gibst du die zwei pics davor und danach als link aus und untendrunter das eigentliche bild einfach ausgeben

ist ansich recht unkompliziert und du hast deine vor und zurück links

ich würde jedoch noch dazu raten eine funktion ein zu fügen die sich jeweils um das erste und letzte pic jeder gallerie kümmert und dort entweder den link verschwinden läst oder halt das erste oder letzte bild anzeigt

Verfasst: 05.06.2008 12:35
von player2000
Danke ... aber wie lösche ich alle werte, bis auf das bild davor und danach? ich weiß das man mit unset($array[0]) bestimmte werte löscht ... aber wie wende ich es bei meinem beispiel an?

Verfasst: 11.06.2008 14:48
von metty84
die funktion array_keys liefert dir dieschlüssel von den zeilen des arrays in dem der gesuchte string enthalten ist. dürfte bei dateinamen aus einem ordner ja nur eine mögliche übereinstimmung geben.

Code: Alles auswählen

array_keys ( $array, 'bild1.jpg' )
dan nimst du den key und rechnest +1 und -1 und schon hast du die indexe in denen deine benötigten dateinamen stehen.

mit der funktion array_key_exists kannst du dan noch prüfen ob der key+1 ein diesem array existiert oder nicht und wen nicht gibst du einfach den ersten wert des arrays zurück also array[0]

Verfasst: 12.06.2008 11:35
von player2000
Danke für die Hilfe, hab es hinbekommen ... und ist ja wirklich nicht soo schwer ;)