Bildergalerie mit Popup-Fenster

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
player2000
Mitglied
Beiträge: 4
Registriert: 26.10.2006 22:58

Bildergalerie mit Popup-Fenster

Beitrag 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]"; 
   }
  }
Benutzeravatar
metty84
Mitglied
Beiträge: 159
Registriert: 08.03.2007 13:13
Wohnort: Marienberg
Kontaktdaten:

Beitrag 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
Nichts auf der welt ist so gerecht verteilt wie der Verstand.Denn jederman ist überzeugt das er genug davon habe.
player2000
Mitglied
Beiträge: 4
Registriert: 26.10.2006 22:58

Beitrag 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?
Benutzeravatar
metty84
Mitglied
Beiträge: 159
Registriert: 08.03.2007 13:13
Wohnort: Marienberg
Kontaktdaten:

Beitrag 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]
Nichts auf der welt ist so gerecht verteilt wie der Verstand.Denn jederman ist überzeugt das er genug davon habe.
player2000
Mitglied
Beiträge: 4
Registriert: 26.10.2006 22:58

Beitrag von player2000 »

Danke für die Hilfe, hab es hinbekommen ... und ist ja wirklich nicht soo schwer ;)
Antworten

Zurück zu „Coding & Technik“