Struppi: Bild Upload über CGI

Beitrag lesen

durch use strict und dass einschalten der Warnungen lassen sich Flüchtigkeitsfehler vermeiden.
Also use strict führte zu bla.cgi too many errors

Du musst die verwendeten Variabeln mit my deklarieren, dass erscheint zwar am Anfang lästig, verhindert aber später wie gesagt Flüchigkeitsfehler.

open(OUTFILE, ">>$dir$file")|| print"Can't open $dir$file. $!";
while ($bytesread=read($filename,$buffer,1024))

was ist $filename? Wenn es wirklich nur der Name ist funktioniert das so nicht.

Was ist param('bild')?
Ein Textfeld oder uploadfeld?

<input type=file name=bild size=30>

Ein uploadfeld, und daher kann das obige nicht funktionieren. Un zwar....

Schau die mal die Dokumentation von CGI.pm an (ist bei der Perl Version dabei), da steht drin wie du eine Datei hochlädst.
gemacht also im eigentlichen Upload ist (Syntax) kein Fehler ich vermute das Problem langsam auf dem Server ;( !

glaub ich das nicht, den ('ich kopier jetzt mal den Abschnitt aus meiner Doku die ich zu CGI.pm hab (da gibt es mehrere Abschnitte und Beispiele):

$filename = $query->param('uploaded_file');

Different browsers will return slightly different things for the name. Some browsers return the filename only. Others return the full path to the file, using the path conventions of the user's machine. Regardless, the name returned is always the name of the file on the user's machine, and is unrelated to the name of the temporary file that CGI.pm creates during upload spooling (see below).

The filename returned is also a file handle. You can read the contents of the file using standard Perl file reading calls:

# Read a text file and print it out

while (<$filename>) {

print;

}

# Copy a binary file to somewhere safe

open (OUTFILE,">>/usr/local/web/users/feedback");

while ($bytesread=read($filename,$buffer,1024)) {

print OUTFILE $buffer;

}

Das ist anders als bei dir.

Struppi.