Mike: Wie kann ich von cgi-bin aus einen Ordner

Ich schreibe solche mails wirklich erst, wenn es gar keine andere Möglichkeit mehr gibt -aber im Moment weiß ich nicht weiter. Folgendes ist mein Problem:

Ich arbeite an einem Script, daß alle in einem bestimmten Ordner liegenden Bilder (.gif etc.) einlesen und diese übersichtlich in einer HTML-Seite darstellen soll (ich benutze lokal Omni-HTTP und ActivePerl auf Windows 98).

Leider musste ich jetzt aber feststellen, daß Bilder, die im cgi-bin Verzeichnis liegen, nicht im Browser dargestellt werden (es sind wahrscheinlich nur .cgi und .pl-Dateien dort erlaubt). Na schön, dachte ich, dann kopiere ich den Ordner mit den Bildern eben in ein nicht-cgi Verzeichnis irgendwo anders (schon noch auf dem Server, aber eben nicht mehr im cgi-bin Ordner). Nun kann der Browser sie zwar wieder darstellen -aber das Script findet diesen Ordner nicht und kann ihn demnach auch nicht auslesen. (Verwirrung!?)

Es ist wie ein Teufelskreis: im cgi-bin Ordner kann das SCRIPT den Bilder-Ordner finden und die Dateinamen lesen -aber der BROWSER  stellt diese nicht dar bzw. findet sie nicht. Und wenn die Bilder NICHT im cgi-bin Verzeichnis liegen, ist es genau andersrum: dann findet der Browser die Bilder, aber im Script kann ich den Ordner nicht mir readdir() auslesen.

-Wer weiß einen Rat und kann mir hier weiterhelfen? Soweit ich weiß, gehen alle 'professionellen' Scripts (z.B. UBB etc.) nach dem Schema vor, daß alle Grafiken in einem Non-Cgi Verzeichnis ausserhalb des cgi-bin Bereichs liegen. -Aber wie kann man dann auf solche Verzeichnisse zugreifen und sie auslesen? Oder kann es vielleicht sein, daß ich Omni-HTTP nicht richtig konfiguriert habe?

P.S.: Das Script sollte allerdings auch auf jedem anderen Server lauffähig sein -also bringt mir eine 'massgeschneiderte-nur-in-diesem-Fall' Lösung leider nichts.

Ich hoffe auf Hilfe (Daumen drück!!)

Mike

www.x-pressive.com

X-PRESSIVE.COM MULTIMEDIA DESIGN

ONLINE GAMES - FLASH BOARD - MULTIMEDIA - SCREEN SAVERS

  1. Hallo!

    Wenn das Skript die Grafiken nicht finden kann, wird das wohl daran liegen,
    daß Du einen falschen Pfad angebgeben hast.

    Auslesen erfolgt so:

    opendir DIRHANDLE, "../images/";      # Pfad auch absolut(/pfad/zum/image/verzeichnis/)
    @alleGrafiken = grep !/^..?$/, readdir DIRHANDLE;     # . und .. nicht aufnehemen
    closedir DIRHANDLE;

    Willst Du die gefundenen Grafiken gleich ausgeben dann so:

    foreach(@alleGrafiken)
    {
        # Pfad muß relativ zum cgi-bin-Verzeichnis oder absolut angegeben werden!
        print '<img src="../images/'.$_.'">';
    }

    Gruss Markus