Datei per CGI herunterladen
Martin1977
- perl
Hallo,
bin schon seit Stunden am probieren und suchen, es funktioniert jedoch nicht.
Ich möchte, dass mein CGI eine Datei aus dem Internet herunterlädt und diese in einem bestimmten Verzeichnis speichert. Leider kriege ich das Herunterladen nicht hin. Ich habe es mit folgendem Code versucht:
open(TEST,"|/usr/bin/wget http://xyz.domain") || die "Datei nicht gefunden";
close(TEST);
Keine Fehlermeldung, aber auch keine heruntergeladene Datei.
Dann habe ich mir ein Shellskript geschrieben, indem der wget-Befehl steht und dieses auf der Commandozeile ausgeführt (unter dem www User) - funktioniert.
Rufe ich es aber auf über:
open(TEST,"|/bin/bash /var/www/herunterladen.sh") || die "Datei nicht gefunden";
close(TEST);
Macht er es nicht.
Ich bekomme keine Fehlermeldung und der Rest des Skripts läuft auch ab, aber die Datei wird nicht heruntergeladen.
HELP!!!
bin schon seit Stunden am probieren und suchen, es funktioniert jedoch nicht.
Ich möchte, dass mein CGI eine Datei aus dem Internet herunterlädt und diese in einem bestimmten Verzeichnis speichert. Leider kriege ich das Herunterladen nicht hin. Ich habe es mit folgendem Code versucht:
Perls Stärke liegt in der Vielzahl an vorhandenen Modulen.
use LWP::Simple;
Zu finden auf http://search.cpan.org
Struppi.
Hell-O!
open(TEST,"|/usr/bin/wget http://xyz.domain") || die "Datei nicht gefunden";
Hier öffnest du eine Pipe zum Schreiben, du möchtest sie doch aber sicher zum Lesen öffnen, oder?
HELP!!!
Bitteschön: http://perldoc.perl.org/perlopentut.html#Pipe-Opens.
Siechfred
hallo,
open(TEST,"|/usr/bin/wget http://xyz.domain") || die "Datei nicht gefunden";
Was passiert, wenn du das Zeichen für die Pipe anders setzt? Also
open(TEST,"/usr/bin/wget http://xyz.domain"|) || die "Datei nicht gefunden";
Wenn es mit open() nicht funktionieren will, kannst du es auch mit qx() oder system() versuchen.
Grüße aus Berlin
Christoph S.