Klaus Mock: "opendir" Problem

Beitrag lesen

Hallo,

Ich habe folgendes Problem: Ich rufe mit der Funktion "opendir" ein Verzeichnis auf und möchte alle htm-Dateien
auflisten. Das Problem ist, dass ich das Verzeichnis von einem externen Server einelsen muss. Also der Pfad
wäre dann (http://www.url.com/verzeichnis/a/) da bekomme ich aber immer folgender Error:
http://www.url.com/verzeichnis/a/: No such file or directory at c:\inetpub\scripts\tone.pl line 61.

Lokale Dateisysteme und Netzwerkdienset ( wie z.B. ein Webserver) sind zwei vollkommen verschiedene Dinge. opendir (und readdir) ist eine Funktion, welche ausschließlich mit Dateisystemen benutzt werden kann. Willst Du auf Daten von einem Webserver zugreifen, dann benötigst Du auch andere Funktionen (die z.B. über ein Modul aus der LWP-Sammlung eingebunden werden können). Allerdings ist ein Zugriff auf ein 'Verzeichnis' eines Webserveres auch nicht so einfach, da dieser nicht unbedingt alle dort abgelegten Dateien preisgibt, und wenn, dann per HTML-Dokument, welches dann noch geparst werden muß.

Wenn ich aber ein Verzeichis von meinem Server einbeziehe (../html/verzeichnis/a/) funktioniert alles bestens.

Gibt es da eine Lösung???

Wenn Du auf die Daten eines anderen Rechners mit den gleichen Mitteln zugreifen willst, wie auf die lokalen, so geht das nur über Anbindungen wie NetBIOS/SMB (das z.B. in der Windows-Welt für 'Netzlaufwerk verbinden' verwendet wird), oder NFS (Network File System, wird in der Unix-Welt oft eingesetzt). Das setzt allerdings auf dem anderen Rechner die entsprechenden Dienste und für Dich die entsprechenden Zugangsberechtigungen voraus.  Alternativ kannst Du auch per FTP zugreifen, was allerdings wieder ein eigens Protokoll ist, und Du auch hier die nötigen Rechte brauchst.

Vielleicht wäre es aber gleich einfacher, das entsprechende Script auf dem anderen Webserver zu installieren, damit Du nicht so mit der Kirche ums Kreuz herum arbeiten mußt.

Grüße
  Klaus