Bildergalerie Scandir Abfrage und Einbindungs problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bildergalerie Scandir Abfrage und Einbindungs problem

    Hallo ich möchte Verzeichnisse in einem Hauptverzeichniss per PHP Auslesen und mir die Bilder anzeigen lassen das habe ich soweit so realisern lassen:

    PHP-Code:
    <?php

    foreach (scandir('gallery/') as $path)
    {
        if (
    $path != '.' && $path != '..')
        {
            
    $db[$path] = array();
            foreach (
    scandir('gallery/'.$path) as $path_inner)
            {
                if (
    $path_inner != '.' && $path_inner != '..')
                {
                    
    array_push($db[$path], $path_inner);
                    if (!
    file_exists('thumbs/'.md5($path.'/'.$path_inner)))
                    {
                        
    $file imagecreatefromjpeg('gallery/'.$path.'/'.$path_inner);
                        
                        
    $width_orig imagesx($file);
                        
    $height_orig imagesy($file);
                        
                        if (
    $width_orig <= $height_orig)
                        {
                            
    $height_diff round(($height_orig $width_orig) / 2);
                            
    $width_diff 0;
                            
                            
    $wf 1;
                            
    $hf $height_orig / ($width_orig 100) / 100;
                        }
                        else
                        {
                            
    $height_diff 0;
                            
    $width_diff round(($width_orig $height_orig) / 2);
                            
                            
    $wf $width_orig / ($height_orig 100) / 100;
                            
    $hf 1;
                        }
                        
                        
    $file_new imagecreatetruecolor($thumb_size$thumb_size);
                        
    imagecopyresized($file_new$file00$width_diff$height_diff$thumb_size$thumb_size$width_orig $wf$height_orig $hf);
                        
                        
    imagejpeg($file_new'thumbs/'.md5($path.'/'.$path_inner));
                    }
                }
            }
        }
    }
     
    if (!
    is_dir('gallery/'.preg_replace('/\+/'' '$_GET['category'])))
        unset(
    $_GET['category']);

    foreach (
    $db as $category => $category_array)
    {
        if (!isset(
    $_GET['category']))
        {
            
    $category_url preg_replace('/\s/''+'$category);
    ?>

    <?php
    $verzeichnis 
    'gallery/epcover-klein/';
    foreach (
    array_slice(scanDir($verzeichnis), 2) as $datei) {
     if (
    in_array(substr($datei, -33), array('gif','png','jpg'))) {
      echo 
    '<a href="index.php?page=media&category=' $category_url' ">  <img src="' $verzeichnis $datei ' " > </a> <br>';
     }
    }
    ?>
            
    <div><a href="index.php?page=media&category=<?php echo $category_url?>"><?php echo $category?></a></div>
    <?php
        
    }
        elseif (
    $_GET['category'] == $category)
        {
            foreach (
    $category_array as $temp => $entry)
            {
    ?>
    <span>
        <a rel="clearbox" <?php echo $category?> href="gallery/<?php echo $_GET['category'].'/'.$entry?>">
            <img src="thumbs/<?php echo md5($category.'/'.$entry); ?>" alt=""/>
        </a>
    </span>
    <?php
            
    }
        }
    }
    ?>
    Nun möchte ich aber das wenn man auf der Übersicht der Gallery auf ein Bild geht.. nicht auf eine seite mit allen Bildern aus dem gewählten "Ordner" kommt wie es jetzt der fall ist.. sondern das man in der Hauptübersicht ein Bild anklickt und dann direkt von dem gewählten Verzeichniss die Clearbox Gallery aufgeht und man sich dann in diesem Verzeichniss durchblättern kann ähnlich wie hier..:

    jQuery.flickrGallery


    Desweiteren muss ich meiner Scandir Bildausgabe noch sagen das sie in der Vorschau also quasii in der Kategorie-Übersicht der Gallery nur ein Bild anzeigen soll z.b. immer das erste aus dem Ordner..
    Am besten ohne das ich den ordner wie jetzt dahinterstehen habe er sollte das quasi automatisch erledigen..


    D.h.:

    Gallery Kategorien mit jeweils dem ersten Bild des Ordners als Kategorie Auswahl.
    Wenn eins angeklickt wurde soll sich direkt die Clearbox (JavaScript) öffnen wo man dann die einzelnen Bilder dieser Kategorie durchschaun kann.

    Hoffe ich versteht was ich meine, ich weiß nicht wie ich es besser erklären soll^^


    Wie kann ich das umsetzen?
    Bzw könnte mir jemanden den code anpassen?
    Weil wollte schon bei scandir bleiben.. wenn das möglich ist, nur bin ich ein totaler Anfänger was PHP angeht also wenn sich jemand erbarmen könnte wäre das narütlich klasse..


    MfG

  • #2
    Willkommen im Forum.

    Die JavaScript-Funktionalität kannst du auslösen, indem du einen JS-Event-Handler nutzt statt einer normalen Verlinkung. Die weitere Umsetzung hängt dann vor allem am eingesetzten JS-Code. So was ist aber üblicherweise gut dokumentiert.

    Deine PHP-Anfrage („erstes Bild anzeigen“) solltest du eigentlich lösen können. Ich sehe jedenfalls nicht, weshalb gerade das schwieriger sein sollte, als der Code, den du bereits geschrieben hast.

    Ich sehe in diesem Thread noch keine konkrete Problemschilderung, auf die eingegangen werden könnte. Die Fragen sind für meinen Geschmack zu allgemein.

    Kommentar


    • #3
      Tipp am Rande:

      Je nachdem wie viel Dateien da zu ermitteln sind, solltest du die Bilder und Thumbs mit ihren Pfaden in einer DB oder zumindest in einer Textdatei speichern, da dein Script ansonsten bei jedem Aufruf sehr viele Zugriffe (wg. file_exists() für die Thumbs) auf das Dateisystem erzeugt.
      Die Lösung mit einer DB hat den Vorteil, dass du für einen Ordner mit einer simplen Abfrage die "erste" Datei auch anhand anderer Faktoren als den Dateinamen (scandir() ermöglicht dir nur Alphabetisch auf- oder absteigend) ermitteln kannst, je nachdem welche zusätzlichen Informationen du in der Tabelle noch mitspeicherst. Denkbar wären z.B. Eintragsdatum, Dateigröße, oder vielleicht speicherst du auch noch mit, welche Bilder besonders oft aufgerufen wurden und zeigst das Bild mit den meisten Hits als "Ordnerbild" an.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar

      Lädt...
      X