Tach, Andre Heine wrote:
Ja, ist es. Und dort 'hänge' ich jetzt. Ich lasse mir den Namen im Script testweise anzeigen: lokal klappt es, da steht dort /tmp/php<irgendwas>, wenn ich den Uplaod aber von einem Client aus versuche, dann steht in der Variablen 'none'.
Ich hau dir mal ungefragt mein perl-cgi um die Ohren, mit dem ich zwei Uploads gleichzeitig mache. Vielleicht hilfts dir ja. Ich kürze es nicht, um keine Fehler einzubauen, nicht wundern über tote links, Prüfung des Uploadfiles auf Format "Text" und sonstigen Overhead. (Ach ja, Nachtrag: Es handelt sich um eine Seite, die ich für meinen Produktionsrechner benutze, bitte keine Kommentare von irgendwem, mein HTML sei nicht Rollstuhlfahrergerecht oder dergleichen) upload.html: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>upload</title> </head> <body> <h1>Upload</h1> <a href="upload.html">Neue Daten uploaden</a><br> <a href="00.pl">Daten prüfen</a><br> <a href="index.html">Hauptmenü</a><br> <br> Um die vorhandene Version zu behalten, keine Datei auswählen.<br> <form action="upload.cgi" method="post" enctype="multipart/form-data"> Headerdatei : <input type="file" name="myfile1" accept="text/*" maxlength="500000"><br> Produktdatei : <input type="file" name="myfile2" accept="text/*" maxlength="500000"><br> <br> <input type="submit"><br> <input type="reset"><br> </form> </body> </html> upload.cgi: #!/usr/bin/perl use CGI; # Modul fuer CGI-Programme my $cgi = new CGI; # neues Objekt erstellen # Content-type fuer die Ausgabe print $cgi->header(-type => 'text/html'); my $file; my $fname; my $data; my $cmd; print <<HTML; <html> <head> <title>Fileupload</title> </head> <body bgcolor="#FFFFFF"> <h1>Upload fertig.</h1> <a href="upload.html">Neue Daten uploaden</a><br> <a href="00.pl">Daten prüfen</a><br> <a href="index.html">Hauptmenü</a><br> HTML for (my $datei=1; $datei < 3 ; $datei++) { $file=0; $!=0; $file = $cgi->param("myfile".$datei); # or $file=0; if ($datei == 1) {$fname = 'kuda/header/Kopfdaten_gesamt.txt';} elsif ($datei == 2) {$fname = 'kuda/daten/Inhalt_gesamt.txt';} else {$fname = 'kuda/daten/Inhalt_gesamt.txt'; print "ERROR";} open DAT,'>uptemp' or die 'Error processing file: ',$!; binmode $file; binmode DAT; while(read $file,$data,1024) { print DAT $data; } close DAT; if (-T './uptemp') { $cmd='test -s uptemp && mv uptemp '.$fname; print `$cmd`; } else { print '<h1>FEHLER: Die Datei war keine Textdatei.<br></h1>'; } } print <<HTML; </body> </html> HTML Gruß, Ratti