Thread Daten in Loop parsen (21 answers)
Opened by gmafx at 2010-03-12 16:57

gmafx
 2010-03-12 16:57
#134600 #134600
User since
2009-11-19
47 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe eine sehr simple in HTML erstellte Webseite, welche derzeit die Eingabe von 3 Textdateien fordert:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 <form name="Form1" enctype="multipart/form-data" method="post" action="/cgi-bin/next_file5.pl">


<p> Choose your 1st file
<input type="file" name="File1" size="20" maxlength="5000">
Description of your 1st file:
<input type="text" name="Description1" size="30" maxlength="50">
</p>

<p> Choose your 2nd file
<input type="file" name="File2" size="20" maxlength="5000">
Description of your 2nd file:
<input type="text" name="Description2" size="30" maxlength="50">
</p>

<p> Choose your 3rd file
<input type="file" name="File3" size="20" maxlength="5000">
Description of your 3rd file:
<input type="text" name="Description3" size="30" maxlength="50">
</p>


Mal abgesehen davon, dass ich noch nicht weiss, wie ich dieses Eingabeformular dynamisch gestalten kann (erstmal nur eine Datei eingeben, dann entweder abschicken, oder ein weiteres Eingabefeld anbieten), werden die Dateien hochgeladen (derzeit passiert das bei mir alles auf meinem lokalen Rechner) und die enthaltenen Daten werden nach Einlesen verarbeitet (Vom Perl7CGI-Skript next_file5.pl).

Derzeit mache ich das sehr umständlich mit CGI.pm auf einfachste Art und Weise:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my $cgi = new CGI; # neues Objekt erstellen 
my $file = $cgi->param("Descrption1");
my $upload_filehandle = $cgi->upload("File1");

open ( UPLOADFILE, ">$dir/$file" ) or die "$!";
while ( <$upload_filehandle> )
{
print UPLOADFILE;
}

close UPLOADFILE;


Offensichtlich müsste ich jetzt 3 mal den gleichen Codeblock schreiben, wenn ich die 3 Eingabeblöcke analysieren möchte.

1)Wie macht man das in einem Loop? Am besten für n Eingabefelder?

2) Muss ich die Datei überhaupt physikalisch hochladen, um an deren Inhalt zu kommen, oder kann ich den Inhalt der Datei auch ohne diese anzulegen direkt an eine Variable, zB einen Array übergeben, der den Inhalt der Datei Zeile für Zeile speichert?


gma

View full thread Daten in Loop parsen