File upload
Jeremias
- html
0 Hopsel0 Jeremias
0 Reiner- perl
0 Jeremias
0 Siechfred- perl
1 Axel Richter0 Struppi
- perl
0 Jeremias
0 Struppi
Hallo, der folgende Script bzw. das Zusammenspiel Script/Html läuft nicht, obwohl es selfhtml entnommen wurde.
Der Script ist unter http://www.hirony.net/cgi-bin/test/upload.cgi
zu erreichen.
Liegt es an den Browser Einstellungen oder am Script oder wie, wo, was ?
Gruss Jeremias
#!/usr/bin/perl
use CGI; # Modul fuer CGI-Programme
my $cgi = new CGI; # neues Objekt erstellen
print $cgi->header(-type => 'text/html');
my $file = $cgi->param("myfile");
binmode $file;
my $data;
read $file,$data,25000;
$l=length($data);
print <<"HTML";
<html>
<head>
<title>Fileupload</title>
</head>
<body bgcolor="#FFFFFF">
<form action=upload.cgi method=post>
File <input type=file size=40 name=myfile>
<br><input type=submit value='ab die luzi'>
</form>
<p>
Dateiname = $file
<br>Die alte Datei war $l Bytes lang
</body>
</html>
HTML
;
Hi Jeremias!
Hallo, der folgende Script bzw. das Zusammenspiel Script/Html läuft nicht
Mein Oma läuft auch nicht mehr. Aber bei ihr kann ich mir sicher sein, dass es am Alter liegt.
Bei deiner Fehlerbeschreibung wird es schwierig zu helfen.
MfG H☼psel
Hi Jeremias!
Hallo, der folgende Script bzw. das Zusammenspiel Script/Html läuft nicht
Mein Oma läuft auch nicht mehr. Aber bei ihr kann ich mir sicher sein, dass es am Alter liegt.
Bei deiner Fehlerbeschreibung wird es schwierig zu helfen.
MfG H☼psel
Hallo Hopsel,
Nun, darum habe ich ja extra den script eingestellt und auf hirony als .cgi hinterlegt.
Es wird die ausgesuchte Datei nie hochgeladen (Anzahl Bytes immer gleich 0)
Gruss Jeremias
Hallo, der folgende Script bzw. das Zusammenspiel Script/Html läuft nicht, obwohl es selfhtml entnommen wurde.
Der Script ist unter http://www.hirony.net/cgi-bin/test/upload.cgi
zu erreichen.
Liegt es an den Browser Einstellungen oder am Script oder wie, wo, was ?
Hi,
hast Du Schreibrechte für wwwrun (bzw. Apache-User) in dem Verzeichnis?
Gruß
Reiner
Hallo, der folgende Script bzw. das Zusammenspiel Script/Html läuft nicht, obwohl es selfhtml entnommen wurde.
Der Script ist unter http://www.hirony.net/cgi-bin/test/upload.cgi
zu erreichen.
Liegt es an den Browser Einstellungen oder am Script oder wie, wo, was ?
Hi,
hast Du Schreibrechte für wwwrun (bzw. Apache-User) in dem Verzeichnis?Gruß
Reiner
Hi Reiner,
Ja habe ich. Aber das spielt keine Rolle, da das script ja nie schreibt, die Datei nur in die Variable $data liest, und dann die Anzahl gelesen Bytes aufblendet (und die ist bei mir halt immer 0)
Gruss Jeremias
Tag Jeremias.
http://www.hirony.net/cgi-bin/test/upload.cgi
Was steht im Errorlog? Im Moment bekomme ich einen Internal Server Error.
Liegt es an den Browser Einstellungen oder am Script oder wie, wo, was ?
Ein Upload jedenfalls macht dein Script (so, wie es hier steht) nicht (es liest zwar, aber schreibt nicht).
Siechfred
Hallo,
der folgende Script bzw. das Zusammenspiel Script/Html läuft nicht, obwohl es selfhtml entnommen wurde.
Wo, bzw. welcher Version von SelfHTML wurde es entnommen?
<html>
<head>
<title>Fileupload</title>
</head>
<body bgcolor="#FFFFFF">
<form action=upload.cgi method=post>
Hm, bitte lies: http://de.selfhtml.org/html/formulare/datei_upload.htm#definieren, speziell
---
Beachten Sie:
Wichtig ist, dass Sie im einleitenden <form>-Tag die Angabe enctype="multipart/form-data" notieren, wenn das Formular ein Element für Datei-Upload enthält.
---
Dann lies: http://aktuell.de.selfhtml.org/artikel/cgiperl/file-upload/index.htm.
viele Grüße
Axel
Beachten Sie:
Wichtig ist, dass Sie im einleitenden <form>-Tag die Angabe enctype="multipart/form-data" notieren, wenn das Formular ein Element für Datei-Upload enthält.Dann lies: http://aktuell.de.selfhtml.org/artikel/cgiperl/file-upload/index.htm.
Naja, wenn man schon das CGI Modul einbinden spricht eigentlich nicht dagegen es auch zu nutzen.
die Funktion CGI::start_multipart_form() existiert.
Struppi.
!!! KLASSE !!!
der folgende Script bzw. das Zusammenspiel Script/Html läuft nicht, obwohl es selfhtml entnommen wurde.
Wo, bzw. welcher Version von SelfHTML wurde es entnommen?
Na ja, den html-teil habe ich selbst eingebaut (fälschlicherweise)
<form action=upload.cgi method=post>
Hm, bitte lies: http://de.selfhtml.org/html/formulare/datei_upload.htm#definieren, speziell
Beachten Sie:
Wichtig ist, dass Sie im einleitenden <form>-Tag die Angabe enctype="multipart/form-data" notieren, wenn das Formular ein Element für Datei-Upload enthält.Dann lies: http://aktuell.de.selfhtml.org/artikel/cgiperl/file-upload/index.htm.
viele Grüße
Axel
Danke für den Hinweis ... er war goldrichtig, das war der Punkt an dem es scheiterte. Jetzt eingebaut und : läuft !
Gruss Jeremias
#!/usr/bin/perl
use CGI; # Modul fuer CGI-Programme
Warnungen und use strict sollten zumindest in der Entwicklungsphase immer eingeschaltet und eingebunden werden.
my $cgi = new CGI; # neues Objekt erstellen
Content-type fuer die Ausgabe
print $cgi->header(-type => 'text/html');
die datei-daten holen
my $file = $cgi->param("myfile");
Dateien in den Binaer-Modus schalten
Bis hierhin nutzt du das CGI Modul um dann:
print <<"HTML";
<html>
<head>
<title>Fileupload</title>
</head>
<body bgcolor="#FFFFFF">
<form action=upload.cgi method=post>
File <input type=file size=40 name=myfile>
<br><input type=submit value='ab die luzi'>
</form>
<p>
Dateiname = $file
<br>Die alte Datei war $l Bytes lang</body>
</html>
HTML
;
die wieder alles von zusammen zubasteln. Das CGI Modul bietet genau dafür Funktionen an dass du auf HTML code in deinem Perl Skript fast komplett verzichten kannst.
print $cgi->start_html(-title => 'Fileupload', -bgcolor => '#ffffff'),
$cgi->start_multipart_form(-action => 'upload.cgi'),
$cgi->p(
'File:' . $cgi->filefield(-name => 'myfile')
. '<br>'
. $cgi->submit( -value => 'ab die luzi')
),
$cgi->end_form(),
$cgi->p(
"Dateiname = $file<br>Die alte Datei war $l Bytes lang"
),
$cgi->end_html()
;
Struppi.