Hallo,
<input type="hidden" name="upload_dir" value="bilder">
Ich halte das für riskant. Zumindest solltest Du den Inhalt dieses Parameters in Deinem Script sehr sorgfältig prüfen, da es ein leichtes ist, ein Formular zu modifizieren, bevor es verwendet wird.
ist mir klar, wird im Script natürlich abgecheckt!
Nach dem Abschicken wertet mein Script das ganze aus und ich will das Bild jetzt speichern, dazu führe ich folgendes Code aus:
open (DATEI, ">$upload_dir$filename.gif");
binmode DATEI;
print DATEI $file->param("datei");
close DATEI;
Der Fehler an der Sache ist, dass er es jetzt zwar unte
/bilder/xyz.gif
speichert, aber nicht als Bild, sondern wenn man das Bild dann aufruft wird angezeigt, wo das Bild auf der Festplatte lag, also der Inhalt von $file->param("datei"), z.B.
C:\Wíndows\bild.gif
Du willst die Dokumentation von CGI.pm nochmals sorgfältig lesen. Und zwar im speziellen das Kapitel 'CREATING A FILE UPLOAD FIELD'. Hier wird nämlich auch beschrieben, wie man auf die Inhalte bzw. Zusatzinformationen der übertragenen Datei zugreift.
Habe ich bereits mehrmals gelesen und bin trotzdem zu keinem Ergebnis gekommen :-(