Hollo Freunde,
Bin am Verzweifeln, finde einfach den Fehler nicht!
Hab schon sämtliche upload scripts ausprobiert und durchexperementiert.
Die Ausgabe funktioniert wunderbar, doch die Eingabe nicht!
methode=post, aber diese überträgt die Daten nicht?????
und das <INPUT NAME="act" TYPE="hidden" VALUE=1> wird auch nicht übertragen????
Es gibt auch keine Fehlermeldungen!
Wie kann ich Fehlermeldungen implementieren, dass ich dann auch nachvolziehen kann an was es liegt?
Rechte vom Verzeichnis wo die Doc-files gespeichert werden: 777
Rechte vom upload.pl: 755
upload.pl (abgespekt und angepasst an SELFHTML upload-beispiel)
-----------------------------------------------------
#!/usr/bin/perl -w
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $cgi = new CGI;
my $file = $cgi->param('tfile');
my $act = $cgi->param('act');
my $Verzeichnis = "../../files/doc/";
opendir(DIR, $Verzeichnis) || die "$Verzeichnis: $!";
my @Eintraege = readdir(DIR);
closedir(DIR);
#**************************************************************
# MAIN
#**************************************************************
print "Content-type: text/html\n\n";
print "<html><body style="border: 1px solid black; margin:20px;font-family:Verdana;font-size:11px;background-color:#DFD; color:#000000;" >\n";
if($act){ EINGABE(); } # siehe <input->hidden->value=1>
else{ AUSGABE(); }
#**************************************************************
# Ausgabe
#**************************************************************
sub AUSGABE
{
print "<table align=center>\n<tr><td>\n";
foreach(@Eintraege) {
if($_ =~ /.+.doc/) {
print "<a href="".$Verzeichnis."$_" align="center">$_</a><br>\n";}
}
print "</td></tr></table>\n<a href="javascript:history.back()">zurück</a>\n</body></html>\n";
print <<"ENDE";
<FORM method=POST ACTION="upload.pl" enctype="multipart/form-data" NAME="upload">
<b class="fun">Doc-datei uploaden: </b><br>
<INPUT NAME="act" TYPE="hidden" VALUE="1">
<input type="file" name="tfile" accept="text/*" maxlength="2097152" SIZE="75">
<br><INPUT TYPE="submit" VALUE="uploaden"><br>
</FORM>
<br>
</body></html>
ENDE
}
#**************************************************************
# Eingabe
#**************************************************************
sub EINGABE
{
my $fname = $file;
$fname =~ s/.*\//g; # -> Lösche alles vor "" -> E:\desktop\text.txt -> text.txt
print "$file-$act-$fname<br>"; # zur kontrolle
open DAT,">".$Verzeichnis.$fname , or die 'Error processing file: ',$!;
binmode $file;
binmode DAT;
while(read($file,my $data,1024)) {
print DAT $data;
}
close DAT;
print "<p>Die Datei $fname wurde erfolgreich auf dem Server gespeichert.</p>\n";
print "</body></html>\n";
}
-----------------------------------------------------
Danke für jede Hilfe,
Gruß Sergej