Ja ei verbibscht, wie bin ich denn da wohl hingekommen?
Im Logfile ist alles nachvollziehbar ;)
Aber beim Upload statt Verzeichnisname (in Entwicklerkonsole) zu ändern, hättest Du auch nur den Dateinamen ändern müssen, übers DirPanel in der Tabelle, da ist nämlich: <td contenteditable="true"> .
Meine Empfehlung: Nimm deinen Commander offline, bevor irgendjemand was anderes macht als Päckchen grün anzumalen.
Für'n Dienstgebrauch im Adminbereich ist das Teil ganz nett.
Schönes Wochenende.
PS/Fazit: Beim regulären Upload darf es dem Anwender nicht möglich sein, den Dateinamen selbst zu vergeben, also da Verzeichnisnamen oder ../../vor/dateiname einzufädeln.
elsif($self->param('upload')){
my $upfile = $self->eav('basedir')."/".$self->param('dirname')."/".$self->param('filename');
my $fh = IO::File->new;
$fh->open($upfile, O_CREAT|O_BINARY|O_TRUNC|O_RDWR) ||
return $self->header('x-param' => $self->http_query({errstr => [$^E]}));
$fh->print($self->{CGI}->rawdata);
$fh->close;
}