1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

XML/TXT in HTML

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von mschoening, 26.04.07.

  1. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Hi,
    ich habe eine Frage: ich bin dabei ein Newsletter zu konzipieren (Preview) und würde gerne unterschiedliche Texte in unterschiedliche div's einlesen.

    Also zum Beispiel:
    Ich habe drei div's mit dem Inhalt:
    1. Beispiel 1
    2. Beispiel 2
    3. Beispiel 3
    (bzw beliebig viele - kann ich dann ja bestimmen)

    Diese Texte sind dann externe .txt Dateien und werden eingelesen --> in dei eigentliche HTML Datei (können auch XML sein, dann könnte ich ja Überschrift etc getrennt positionieren).

    Wie kann ich so etwas machen? Hat jemand vielleicht ein Tutorial? :eek:

    Danke im Voraus
     
  2. Nighthawk

    Nighthawk Linsenhofener Sämling

    Dabei seit:
    16.12.06
    Beiträge:
    2.558
    Müsste doch PHP reichen. Versteh ich dich richtig? Du willst einfach nur den Inhalt anderer Dateien in die Seite laden?
     
  3. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Genau! Ich kenne mich mit PHP leider nur sehr wenig aus...
     
  4. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Wie kann ich denn eine andere HTML datei in ein DIV meiner original Index.html Datei laden?
     
  5. Nighthawk

    Nighthawk Linsenhofener Sämling

    Dabei seit:
    16.12.06
    Beiträge:
    2.558
    Code:
    <?php
    include("diedatei");
    ?>
     
    mschoening gefällt das.
  6. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Danke. :)
     
    Nighthawk gefällt das.
  7. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Das sollte doch jetzt die intro.html Datei in meiner HTML Datei anzeigen oder?
     
  8. Hobbes_

    Hobbes_ Gast

    Beachte:

    Der obgenannte include() Befehl liest die Datei ein und wertet die Datei dann als PHP code direkt aus. Dieser Befehl eignet sich, um beispielsweise ein Modul mit PHP-code nachzuladen. Besser eignet sich jedoch meist require() dazu (kontrolliert, dass ein Modul nur einmal geladen wird)...

    ich nehme an, dass Du direkt den in datei.txt gespeicherten text ausgeben willst. Dazu eignet sich folgender Befehl für lokale Dateien besser: readfile()

    Wenn Du gar Dateien von anderen Servern ausgeben möchest, verweise ich auf folgende Seite des PHP Manuals. Dies ist jedoch nicht auf allen Servern möglich (Sicherheitsbestimmungen).

    Ebenso zum Thema Sicherheit gehört, dass Du Dir über den Inhalt der Datei klar sein musst, wenn Du sie einfach so ausgibst. Du kannst nämlich locker auch beliebiebig eingeschleustes HTML, Javascript oder anderen Code so versenden mittels readfile(). Mittels include() kannst Du Dir auch beliebigen fremden PHP Code antun...

    Vorsicht ist angebracht, insbesondere wenn es um Dateien geht, die vorher durch upload-Funktion auf den Server kamen. Alläfllige Probleme must Du alle selbständig escapen...

    Allgemein: www.php.net ist wirklich perfekt!

    Viel Erfolg!
    psc

    EDIT: include() funktioniert doch auch (siehe Korrektur durch Nogger)
     
    #8 Hobbes_, 26.04.07
    Zuletzt von einem Moderator bearbeitet: 27.04.07
  9. Nighthawk

    Nighthawk Linsenhofener Sämling

    Dabei seit:
    16.12.06
    Beiträge:
    2.558
    Nein, das Semikolon fehlt am nach dem include()
    aber psc hat recht, lies mal http://www.php.net/manual/de/function.readfile.php
     
  10. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Bahnhof!

    Hey,
    danke für die Antworten. Da ich mich überhaupt nicht auskenne mit PHP! bin ich ein wenig überfordert :) Also ich poste euch mal kurz meinen Code der index.html Datei in die ich eine .txt Datei namens intro.txt einlesen möchte:

    Ich sehe leider nichts von der Text Datei! Ich habe bestimmt einen grossen Fehler gemacht :) naja wäre nett wenn ihr mir weiterhelfen könntet...sonst werde ich wohl den Text jedes mal in der index.html Datei ändern müssen :eek: .
     
  11. Hobbes_

    Hobbes_ Gast

    Nein, nein: Das würde dem ganzen ja den Sinn nehmen, wenn Du es immer manuell anpassen müsstest. :)

    Was hast Du als Ausgabe erhalten:
    - nichts?
    - den Programmcode?

    ---

    2 mögliche Probleme:
    1) PHP bezieht sich nicht eigentlich auf den Verzeichnisbaum, in dem Deine HTML-Datei drin ist. Bei allen Dateifunktionen lohnt es sich, möglichst eine absolute Adressierung auf die Datei vorzunehmen. Die Adresse von root / zu Deinem Arbeitsverzeichnis auf dem Server erfährst Du vom Admin.

    Bsp:
    /home/benutzerverzeichnis/xyz/datei.txt

    2) Einige Web-Server interpretieren den PHP-Code in HTML-Dateien nicht. Am besten nennst Du die Datei um von index.html nach index.php

    Gruss
    psc
     
  12. Nogger

    Nogger Damasonrenette

    Dabei seit:
    05.11.05
    Beiträge:
    494
    Aus der von dir verlinkten Seite der Anleitung:

     
    1 Person gefällt das.
  13. Hobbes_

    Hobbes_ Gast

    Vielen Dank!

    Dann geht include() also auch :)
    Habe es einfach nie dazu verwendet...

    Dann liegt das Problem nur noch an den hier angegebenen Problemen...

    Nebenbei: Nebst PHP könnte auch ein SSI-Konstrukt verwendet werden: Siehe Link.
     
  14. Nogger

    Nogger Damasonrenette

    Dabei seit:
    05.11.05
    Beiträge:
    494
    Wenn im Server SSI aktiviert sind, kann man auch

    Code:
    <!--#include virtual="intro.html" -->
    benutzen.
     
  15. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Danke @Nighthawk und @psc! Es hat jetzt geklappt! Beziehungsweise ich habe es geschafft die erste .txt Datei einzulesen (Guckst du hier). Jetzt muss noch der ganze "content" rein.

    P.S: Weiss jemand wie ich da Sonderzeichen hinbekomme? Tilde, etc.
     
  16. Nighthawk

    Nighthawk Linsenhofener Sämling

    Dabei seit:
    16.12.06
    Beiträge:
    2.558
    Code:
    &tilde;
     
  17. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Mit der Funktion htmlentities();
     
  18. Hobbes_

    Hobbes_ Gast

    Damit wird es nun definitiv mit include() nicht mehr klappen. Deshalb benutze ich diese Funktion nie in diesem Kontext (und deshalb war mir die obgenannte Anwendung nicht mehr so geläufig), da ich meist auch immer wenigstens Teile des Textes dynamisch durch andere ersetzen lasse (zB. Parameter) bevor ich sie ausgebe...

    htmlentities() benötigt einen String als Parameter, den Du von include() und auch readfile() nicht erhälst.

    Dafür empfehle ich Dir nochmals die Seite, die ich Dir bereits angegeben hatte, die man auch zum Site-übergreifenden Lesen von Dateien benutzen kann (insofern Sicherheitseinstellungen das erlauben). Ähnliche Konzepte kannst Du auch verwenden, um direkt Dateien des eigenen Servers in einen String einzulesen, die Du dann direkt bearbeiten kannst, bevor Du sie an den Web-Browser sendest. Nun wird es auch erst richtig PHP-mässig interessant :) Nur für ein simples include genügen auch SSI. ;)

    Es lohnt sich, sich etwas mit den Angaben auf php.net bezüglich Dateien / Filesystem auseinanderzusetzen. Die Dokumentation ist wirklich sehr umfangreich und enthält zahlreiche Beispiele. Dennoch lohnt sich die investierte Zeit und nicht nur das copy & paste einer fertigen Komplettlösung. Ich finde immer, dass man den Code verstehen sollte, den man in seinem Programm verwendet...

    Gerade in diesem Bereich lohnt es sich gut zu verstehen, was man macht (Sicherheit ist ein ewiges topic von mir, ich weiss :) )

    Viel Erfolg!
    psc
     
    #18 Hobbes_, 27.04.07
    Zuletzt von einem Moderator bearbeitet: 27.04.07

Diese Seite empfehlen