Seb Winterberg: 'Ne Anfängerfrage

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

  1. 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!

  2. 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

    1. 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!