Klaus Mock: Probleme mit Uploadscript (2)

Beitrag lesen

Hallo,

Es wurde mir hierbei empfohlen File::basename zu verwenden.

Ich kann mich erinnern;-)

Das Problem ist nur, daß hierbei doch auch das Bild zerstört wird,

Warum meinst Du das?
my $basename = basename($flyer);

Da sollte eigentlich nichts herumgepopelt werden.
BTW: hast Du das Source-Fragment versucht einzubinden?

Was habe ich eigentlich noch für Optionen ?

Wich damals schon sagte, könntest Du den Inhalt der Datei auch in den Speicher laden. SO groß sollten die Images ja gar nicht sein, daß das ein Problem ergäbe.

http://www.acid4u.com/uploadflyer.txt

Noch etwas beim schnellen Hinsehen.
Man kann auch Rückgabewerte bei Funktionen verwenden. chkflyer() wäre IMHO der ideale Kanditat für so etwas.
my($error) = &chkflyer($flyer);
&anfang();
if($error eq '')  {
   &saveflyer($flyer);
   &success($flyer);
   }
else  {
   &eingabe();
   &error($error);
   }
&ende();

sub chkflyer{
my($flyer) = shift;
return  "<li>Es wurde kein Pfad angegeben.</li>\n" if ($flyer eq '');
return  "<li>Dieses Dateiformat ist ungültig. (*.jpg, *.gif oder *.png)</li>\n" if (($flyer ne '') && ($flyer !~ /^.+?.gif$|^.+?.jpg$|^.+?.png$/));
[...]
#hier noch die 'gute nachricht'
return '';
}

Naja, so in etwa.

Grüße
  Klaus