Thomas Dehning: Alle Bilder innerhalb eines Ordners browsen

Hallo zusammen,

ich möchte gerne folgendes erstellen:

Die Seite besteht aus 2 Frames, links das Navigationsframe, rechts das Hauptframe.
Im Nav-Frame gibt es nun eine Galerie, als Menü-Unterpunkte die beiden Links "Previous" und "Next".
Über diese beiden Links möchte ich gerne im Hauptframe alle Bilder steuern, eben vor und zurück, die sich innerhalb eines Ordners befinden. Ansonsten soll im Hauptframe nichts abgebildet werden.
Die Bilder sollen auch nachträglich ergänzt werden können, und zwar nur durch FTP Upload in den Ordner. Das ich die Bilder natürlich sinnvollerweise fortlaufend benenne, versteht sich von selbst.
Wenn das Startbild beim Aufrufen der Galerie auch noch per Zufall aus den Dateien innerhalb des Ordners gewählt werden könnte, wäre alles perfekt. Leider bekomme ich diesen Brocken nicht hin.

Vielen Dank schon einmal für Eure Hilfe!

  1. Moin

    Leider bekomme ich diesen Brocken nicht hin.

    Was bekommst du denn hin? Da JavaScript keinerlei Verzeichniszugriffe hat würde mich dein Ansatz sehr interessieren.

    Gruß
    rfb

    --
    Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
    (Galileo Galilei)
    1. Moin

      Leider bekomme ich diesen Brocken nicht hin.
      Was bekommst du denn hin? Da JavaScript keinerlei Verzeichniszugriffe hat würde mich dein Ansatz sehr interessieren.

      Gruß
      rfb

      In PHP wäre es ok, nur fehlt mir bei dem Server, auf dem die Homepage stehen soll, leider ne SQL Datenbank. Mit JS habe ich so etwas noch nie erstellt und weiß auch nicht, was da letztlich möglich ist. Deshalb frage ich ja auch hier ;-)

      1. Moin

        In PHP wäre es ok, nur fehlt mir bei dem Server, auf dem die Homepage stehen soll, leider ne SQL Datenbank.

        Die brauchst du doch gar nicht dafür.

        Gruß
        rfb

        --
        Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
        (Galileo Galilei)
        1. Die brauchst du doch gar nicht dafür.

          Gruß
          rfb

          ich kriegs so aber nicht hin.
          gruß
          thomas

          1. Moin

            ich kriegs so aber nicht hin.

            in diesem Falle empfehle ich die Eingabe von "php bilderverzeichnis auslesen" oder ähnlichem bei google oder einer anderen Suchmaschine deiner Wahl.

            Gruß
            rfb

            --
            Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
            (Galileo Galilei)
  2. Wie heissen denn die Bilder? Wenn die Namen gleichfoermig und mit Zahlen versehen sind ist das doch schonmal eine erhebliche erleichterung und von einem 'Brocken' weit entfernt. (bild1.jpg, ...bild10.jpg)

    Auch mit ungleichfoermigen Namen ist es auch lange kein 'Brocken'.

    Bei ersterem Fall kannst Du mit 2 Variablen (erste un letzte Bildnummer) arebeiten. Im 2. Fall kannst Du mit einem array von Bildnamen arbeiten.

    Da Du was von 'nachtraeglich ergaenzt' schreibst und erwaehnst, dass nur ein ftp upload stattfinden soll, scheinen mir aber beide Moeglichkeiten wegzufallen. Dann solltest du eine Serverseitige Sprache einsetzen.

    1. Wie heissen denn die Bilder? Wenn die Namen gleichfoermig und mit Zahlen versehen sind ist das doch schonmal eine erhebliche erleichterung und von einem 'Brocken' weit entfernt. (bild1.jpg, ...bild10.jpg)

      Auch mit ungleichfoermigen Namen ist es auch lange kein 'Brocken'.

      Bei ersterem Fall kannst Du mit 2 Variablen (erste un letzte Bildnummer) arebeiten. Im 2. Fall kannst Du mit einem array von Bildnamen arbeiten.

      Da Du was von 'nachtraeglich ergaenzt' schreibst und erwaehnst, dass nur ein ftp upload stattfinden soll, scheinen mir aber beide Moeglichkeiten wegzufallen. Dann solltest du eine Serverseitige Sprache einsetzen.

      Die Bilder haben alle gleichförmige Namen mit Zahlen, wie Du es oben beschreibst.
      Wenn die Bilder nicht einfach durch den Upload ergänzt werden können, ist das auch nicht so ganz tragisch, ich kenne das halt nur von PHP, leider habe ich bei diesem Server aber keine SQL Datenbank,so dass das eben flachfällt.
      Da ich sowas aber noch nie mit JS gemacht habe, hoffe ich auf Eure Hilfe ;-)

      1. Wenn die Bilder nicht einfach durch den Upload ergänzt werden können, ist das auch nicht so ganz tragisch, ich kenne das halt nur von PHP, leider habe ich bei diesem Server aber keine SQL Datenbank,so dass das eben flachfällt.

        Was hat denn das Eine mit dem Anderen zu tun? Die Datenbank ist doch irrelevant. Steht PHP zur Verfügung oder nicht?

        --
        Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
        Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
        1. Was hat denn das Eine mit dem Anderen zu tun? Die Datenbank ist doch irrelevant. Steht PHP zur Verfügung oder nicht?

          ja, php steht zur verfügung.

          1. Im Prinzip möchte ich das, was hier in diesem Beitrag von Gernot geschrieben wurde (ganz unten auf der Seite), nur dass die Blätterfunktion links in mein Navigationsframe ausgelagert werden soll.
            Das Ordner browsen werde ich erstmal hintenanstellen, wichtig ist, dass diese Galerie funktioniert.

            Link zu Gernots Beitrag:

            http://forum.de.selfhtml.org/archiv/2005/9/t114678/

      2. Im Prinzip möchte ich das, was hier in diesem Beitrag von Gernot geschrieben wurde (ganz unten auf der Seite), nur dass die Blätterfunktion links in mein Navigationsframe ausgelagert werden soll.
        Das Ordner browsen werde ich erstmal hintenanstellen, wichtig ist, dass diese Galerie funktioniert.

        Link zu Gernots Beitrag:

        http://forum.de.selfhtml.org/archiv/2005/9/t114678/

  3. Hallo Thomas,

    Wenn ich dich recht verstehe, sollen in deiner Galerie immer alle Bilder aus dem Ordner zur Verfuegung stehen, die Webseite soll also in der Lage sein, den Ordner selbstaendig auszulesen und daraus die Galerie erstellen. Zumindest schliesse ich das aus deinen Hinweisen aus fortlaufenden Dateinamen und FTP-Upload.

    Mit HTML alleine ist das allerdings nicht moeglich. HTML ist keine Programmiersprache und hat keine Ahnung von Dateissystemen. Javascript, das du als Themenbereich gewaehlt hast, wird ebenfalls daran scheitern, dass es im Browserkontext keinen Zugriff auf das Dateisystem hat. Allerdings koenntest du die Bildernamen in einem Javascript-Array halten, dass du aber mit jedem Upload ueberarbeiten musst. Um ehrlich zu sein, halte ich eine javascript- und framegestuetze Anwendung die zudem immer upgedatet werden muss, nicht fuer das Gelbe vom Ei.

    Im Grunde hast du drei weitere Optionen, wenn du nicht immer alles von Hand zu Fuss machen willst:

    1. Du schreibst deine Galerie in einer beliebigen serverseitigen Programmiersprache, etwa PHP. Dann ist das alles problemlos machbar, nimmt aber einiges an Zeit in Anspruch.

    2. Du installierst dir eine fertige Galerie, etwa Menalto oder Coppermine. In diesem Fall muss ebenfalls PHP und ausserdem MySQL auf dem Server zur Verfuegung stehen. Ob diese Galerien all das koennen, was du gerne haettest, weiss ich nicht, sehr maechtig sind sie in jedem Fall.

    3. Du erstellst Deine Galerien offline mit einer geeigneten Software, die du zB. bei snapfiles finden kannst. Auch Photoshop, Dreamweaver, Irfanview u.v.a. haben entsprechende Optionen.

    Wofuer du dich entscheidest, haengt von deinen Ambitionen und deinem Kenntnisstand ab.

    Gruß,

    Dieter

  4. Die Bilder sollen auch nachträglich ergänzt werden können, und zwar nur durch FTP Upload in den Ordner. Das ich die Bilder natürlich sinnvollerweise fortlaufend benenne, versteht sich von selbst.

    Dazu kannst du den onload und onerror Event nutzen.

    in etwa so (das ist kein funktionsfähiger Code):

    var aktuelles_bild = 0;  
    var hat_naechstes = true;  
    var name = 'bild';  
    var type = 'jpg';  
    var bild = new Image();  
      
    bild.onload = function() {  
    hat_naechstes = true;  
    }  
    bild.onerror = function() {  
    hat_naechstes = false;  
    }  
    function next() {  
     if(hat_naechstes) {  
      var src = name + ++aktuelles_bild + '.' + type;  
      bild.src = src;  
     }  
    }  
    
    

    Struppi.