'Ne Anfängerfrage
Seb Winterberg
- cgi
Tachchen,
ich hab' mal 'ne CGI-Anfängerfrage:
wie kann ich per CGI, Daten aus einer Textdatei lesen und diese dann in eine HTML-Seite einfügen?
Thanks
hi!
wie kann ich per CGI, Daten aus einer Textdatei lesen und diese dann in eine HTML-Seite
einfügen?
Das geht einfacher mit SSI statt mit CGI. Weitere Infos dazu findest du in SELFHTML: <file:///d/dokumente/selfhtml/tgbe.htm>
Wenn du das wirklich mit CGI machen willst, kommt es auf die Programmiersprache an, in der du deine CGI-Skripts/-Programme schreibst. Du könntest zb. ein Perl-Skript wiederum per SSI einbinden, das den Text aus der Datei ausgibt:
=== cut ===
#!/usr/bin/perl
print "Content-type: text/html\n\n";
open FILE, "<textdatei.txt";
print <FILE>;
close FILE;
=== cut ===
Ansonsten kannst du auch noch gleich die gesamte HTML-Seite von einem Perl-Skript ausgeben lassen:
=== cut ===
#!/usr/bin/perl
print <<'EOT';
Content-type: text/html\n\n
<html>
... Rest der HTML-Datei bis zur Textdatei ...
EOT
open FILE, "<textdatei.txt";
print <FILE>;
close FILE;
print <<'EOT';
... Rest der HTML-Datei ...
</html>
EOT
=== cut ===
bye, Frank!
Tachchen,
ich hab' mal 'ne CGI-Anfängerfrage:
wie kann ich per CGI, Daten aus einer Textdatei lesen und diese dann in eine HTML-Seite einfügen?
Thanks
Hallo,
klaro geht das ... hier ein kleines Beispiel in PERL:
Datei lesen:
$dat = "pfad/verz/datei";
open(TXT, $dat);
while(<TXT>){
chomp ($_); # entfernt zeilenumbrueche
push (@zeilen, $_); # Datei auf Array lesen
}
close (TXT);
In den Browser "schreiben" mit print:
print "<html><head>\n";
print "<title>deintitel</title>\n";
print "</head><body>\n";
for(@zeilen){
print "$_<br>\n"; # Array zeilenweise ausgeben
}
print "</body></html>"; # html schliessen
Viele Grüße, Rolf
hi!
klaro geht das ... hier ein kleines Beispiel in PERL:
In den Browser "schreiben" mit print:
print "<html><head>\n";
print "<title>deintitel</title>\n";
print "</head><body>\n";
Du hast den Content-type vergessen, ohne den der Browser überhaupt nichts anzeigt. Außerdem ist deine Methode sehr (unnötig) kompliziert - siehe auch mein Posting.
bye, Frank!