• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bilderscript mit extra Ausgabe für letztes Bild im Ordner

Status
Für weitere Antworten geschlossen.

andy-1988

Neues Mitglied
Hey Leute,

ich hab folgendes Problem: Ich benutze ein Script, dass Bilder aus einem Ordner aussliest, Thumbnails erstellt und den html code ausgibt. Gleichzeitig wird bei der ausgabe des html codes auf das javascript Lightbox (dieses script, dass Bilder in einer ebene "über" der eigentlichen Homepage öffnet) verlinkt. Hierbei ist das problem, dass bei einer Bilderserie, bei der in lightbox weitergeschalten werden kann, mit dem zusatz
Code:
rel="lightbox[roadtrip]"
gekennzeichnet.
Allerdings wird das Script mehrmals auf einer Seite ausgefürt und ich kann somit zwischen den Einzelnen Einsätzen (wird auf einer Homepage der Feuerwehr angewendet) weiterschalten. Nun würde mich ineressieren, ob man irgendwie das Script so umschreiben kann, dass es beim Letzen bild des Ordner einen geänderten html code ausgibt der nur den zusatz
Code:
rel="lightbox"
beeinhaltet.

Hier das Script für die Bilder.

Code:
   <?php

  /* ====== Allgemeine Einstellungen ====== */

  # Pfad zu den Bildern
  $imagePath = $_SERVER['DOCUMENT_ROOT'].'/einsaetze/2007/03/';

  # Verzeichniss für die Thumbnails
  $thumbDir = 'thumbs/';

  # Realtiver Pfad zu den Bildern von diesem Script aus
  $imageRelPath = '2007/03/';

  # Breite der Thumbnails
  $breite = 160;

  # Qualität der Thumbnailss
  $quality = 85;

  # Beim nächsten Durchlauf die Thumbs neu erstellen??
  $createNew = 0;

  $imageArr = array(); 
  $content = "";
  
  /* ====== Allgemeine Einstellungen ====== */

  # Kompletter Thumb Pfad bauen
  $thumbPath = $imagePath . $thumbDir;

  # Prüfen ob Thumb Verzeichniss existiert. Wenn nicht, anlegen!
  if(!is_dir($thumbPath)) {
      mkdir($thumbPath , 0755);
  }

  # Bilderverzeichniss öffnen
  $handle=opendir($imagePath);

  # und Schleife für jeden Eintrag im Verzeichniss durchlaufen
  while ($file = readdir($handle))
  {
      # Das Thumb Verzeichniss sowie . und .. rausfiltern
      if ($file != "." && $file != ".." && $file != str_replace('/','',$thumbDir)) {
            
              # Alle Dateien in ein Array speichern
              $imageArr[] = $file;
      }
  }
    
  # Die Funktion zum erstellen von Thumbnails aufrufen
  createThumb($imageArr);

  # Danach jedes Bild in einer Schleife mit Link zum grossen Bild ausgeben
  foreach($imageArr as $fileName) {
      $content.='<a href="' . $imageRelPath . $fileName . '" rel="lightbox[roadtrip]"><img src="' . $imageRelPath . $thumbDir . $fileName . '" border="0"></a> &nbsp;';
  }

  # Ausgabe des HTML Codes
  echo $content;

  # Die funktion zum erstellen von Thumbnails
  if(!function_exists('createThumb')) {
  function createThumb($imageArr) {
    
      # Variablen in dieser Funktion
      global $imagePath, $thumbPath, $breite, $quality, $createNew;

      # Schleife mit dem Array der Bilder durchlaufen
      foreach($imageArr as $image) {
    
          $fileExists = file_exists($thumbPath.$image);
          # Wenn das noch nicht existiert oder die Variable $createNew gesetzt ist wird das thumbnail erstellt
          if($createNew != 0 || $fileExists != true ) {
              $completePath = $imagePath.$image;
              $src = imagecreatefromjpeg($completePath);
              list($width,$height)=getimagesize($completePath);
              $newheight=($height/$width)*$breite;
              $tmp=imagecreatetruecolor($breite,$newheight);
              imagecopyresampled($tmp,$src,0,0,0,0,$breite,$newheight,$width,$height);
              imagejpeg($tmp,$thumbPath.$image,$quality);
          }
      }
  }
  }

  ?>
 
Ich habe mir Dein Script nicht so genau angesehen. Aber wenn ich es richtig verstanden habe, geht es um folgendes.

Du hast mehrere Bilderordner, für jeden Einsatz einen. Die Thumbnails werden gruppiert angezeigt, und wenn Du es in lightbox öffnest, geht er Dir sämtliche Ordner durch, anstatt nur immer den einen Einsatz. Du musst pro Einsatz einen neuen Namen vergeben. Solange da roadtrip steht, blättert das Lightboxscript weiter.

Ich hoffe ich hab mich auf die Schnelle verständlich ausgedrückt, aber mein Essen ist jetzt fertig ;)

Gruß thuemmy
 
Status
Für weitere Antworten geschlossen.

Neueste Beiträge

Zurück
Oben