Shyne: Einfache Include-Fragen zu PHP...

Hallo,

bei meiner Seite benutzte ich mehrere Include-Befehle. Ich möchte wissen ob es in folgender Form Okay ist:

z.B.:
<? include ('../include/design_top.txt'); ?>

So füge ich mindestens zweimal im Dokument ein html code ein, also das Design oben und unten....

Außerdem möchte ich wissen, ob ich für den reinen HTML Code eine text datei verwenden soll oder eine html Datei. Letztendlich kommt bei beiden  das Gleiche raus, gäbe es einen Grund das eine und nicht das andere zu verwenden?

Danke,
Ciao

  1. Hi Shyne,

    bei meiner Seite benutzte ich mehrere Include-Befehle. Ich möchte wissen ob es in folgender Form Okay ist:
    <? include ('../include/design_top.txt'); ?>

    Ja.

    Außerdem möchte ich wissen, ob ich für den reinen HTML Code eine text datei verwenden soll oder eine html Datei. Letztendlich kommt bei beiden  das Gleiche raus, gäbe es einen Grund das eine und nicht das andere zu verwenden?

    Nein.

    Viele Grüße aus Freiburg,
    Marian

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) n4:( ss:) de:] js:| ch:? mo:} zu:)
    <!--[if IE]><meta http-equiv="refresh" content="0; URL=http://www.getfirefox.com"><[endif]-->
  2. Hallo Shyne,

    bei meiner Seite benutzte ich mehrere Include-Befehle. Ich möchte wissen ob es in folgender Form Okay ist:
    <? include ('../include/design_top.txt'); ?>

    Durch include() wird der Inhalt der eingebundenen Datei durch den Parser gejagt. Das ist weder notwendig, noch ist garantiert, daß es fehlerfrei funktioniert. Inhalte, die keinen durch den Parser zu analysierenden Inhalt besitzen, sollten deswegen immer mit readfile() zur Ausgabe gebracht werden.

    Außerdem möchte ich wissen, ob ich für den reinen HTML Code eine text datei verwenden soll oder eine html Datei. Letztendlich kommt bei beiden  das Gleiche raus, gäbe es einen Grund das eine und nicht das andere zu verwenden?

    Da PHP auf Dateierweiterungen (-Endungen) keine Rücksicht nimmt, ist dies Dir überlassen.

    Gruß aus Berlin!
    eddi

    --
    Wer Rechtschreibfehler findet, darf sie behalten.
  3. Hi,

    <? include ('../include/design_top.txt'); ?>

    den guten Rat mit readfile() hat eddi dir ja schon gegeben.
    Davon abgesehen solltest du anstatt der "schlampigen" Kurzform <? für den Beginn des PHP-Abschnitts lieber die ausfühliche Notation <?php benutzen.
    Auch wenn dein Webhoster vielleicht die Short Open Tags unterstützt, ist das noch lange nicht bei allen so. Der Trend geht eher dahin, diese Kurzform nicht zu unterstützen.

    Außerdem möchte ich wissen, ob ich für den reinen HTML Code eine text datei verwenden soll oder eine html Datei.

    Wie gesagt: Namen sind Schall und Rauch.
    Die Extension der Dateinamen ist für PHP völlig egal, auch eventuelle Einstellungen des Apachen für bestimmte Dateitypen greifen hier nicht. Du kannst die Dateien also nennen wie du willst, es hat keine weiteren Konsequenzen.

    Schönen Abend noch,
     Martin

    --
    Ungeschehene Ereignisse können einen katastrophalen Mangel an Folgen nach sich ziehen.
      (Unbekannter Politiker)
    1. Hi,

      <? include ('../include/design_top.txt'); ?>

      den guten Rat mit readfile() hat eddi dir ja schon gegeben.
      Davon abgesehen solltest du anstatt der "schlampigen" Kurzform <? für den Beginn des PHP-Abschnitts lieber die ausfühliche Notation <?php benutzen.

      <?php readfile ('../include/design_top.txt'); ?>

      So ist doch gut oder? :D *bravsein*

      Thx

      1. Guten Morgääähn,

        <?php readfile ('../include/design_top.txt'); ?>
        So ist doch gut oder? :D *bravsein*

        Sehr schön. Gut gemacht.  *kopftätschel*
         ;-)

        Schönen Tag noch,
         Martin

        --
        TEAM: Toll, Ein Anderer Macht's.
    2. Hello,

      <? include ('../include/design_top.txt'); ?>

      Wie gesagt: Namen sind Schall und Rauch.
      Die Extension der Dateinamen ist für PHP völlig egal, auch eventuelle Einstellungen des Apachen für bestimmte Dateitypen greifen hier nicht. Du kannst die Dateien also nennen wie du willst, es hat keine weiteren Konsequenzen.

      Veto!
      Wenn es sich um eine einzubindene Datei handelt und nicht um eine direkt lesbare Ressource, dann würde ich das durch besondere Endung kennzeichnen. Und außerdem würde ich verhindern, dass die Datei als Ressource zur Verfügung steht:

      .ht_design_top.detail      ## passive Datei, nur HTML-Sequenzen, mit readfile() einbinden
         .ht_design_top.page22
         .ht_useronline.inc         ## aktive Datei mit PHP Code, durch include() einbinden

      Die Endung würde hier z.B. dazu benutzt werden, um zu kennzeichnen, dass dieses Stcücken Code überall eingebunden werden kann, oder aber nur sinnvoll für Page22 ist.

      Die Vorsilbe .ht_ sollte i.d.R. verhindern (bei Standardeinsellung Apache), dass man direkt mit dem Browser auf die Ressouce zugreifen kann.

      Mit .html als Endung würde ich nur Dateien kennzeichnen, die ein vollständiges Dokument enthalten.
      'Vollständig' meint hier, mit Doc-Type, Metatags für Zeichensatz, Head und Body usw.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

      1. Hallo Tom,

        [...] Du kannst die Dateien also nennen wie du willst, es hat keine weiteren Konsequenzen.

        Veto!
        [...]

        Deine Ausführungen sind richtig und schlüssig. Trotzdem lasse ich meine Behauptung im Kontext(!) stehen. Denn die Namensgebung hat bezüglich des Einbindens durch PHP tatsächlich keinen Einfluss. Dass man durch geeignete Benamsung eine mnemonische Hilfe geben kann, ist klar. Dass man Einfluss darauf nahmen kann, ob und wie der Apache die Datei behandelt, ist auch klar. Das sind aber nur Nebeneffekte, die mit dem eigentlichen Thema "Includes in PHP" nicht direkt zu tun haben.

        Schönes Wochenende auch,
         Martin

        --
        Was ist eigentlich aus deinem schlimmen Durchfall geworden?
        Mein Arzt hat mir Valium verschrieben.
        Und das hilft?
        Naja, ich mach mir immer noch in die Hose. Aber inzwischen ist es mir egal.
        1. Hello Martin,

          Deine Ausführungen sind richtig und schlüssig.

          Klar! :-)

          Das sind aber nur Nebeneffekte, die mit dem eigentlichen Thema "Includes in PHP" nicht direkt zu tun haben.

          Doch!
          Da die meisten Poster hier keinen Root-Server betreiben, auf dem sie selber eine Shell zur Verfügung haben, ist die richtige Namensvergabe für Include-Dateien durchaus wichtig.

          I.d.R. ist es unerwünscht, oder sogar kontraproduktiv, wenn aktive Include-Dateien direkt durch den Browser angefordert werden dürfen. Auch wenn man mittels *.inc.php dafür sorgt, dass sie nicht lesbar ausgeliefert werden, können direkte Aufrufe trotzdem für Schaden sorgen. Das gilt insbesondere dann, wenn durch das Schnipsel Datenbankoperationen vorgenommen werden.

          Da bieten sich die "HT-ACCESS-Methoden" förmlich an, das zu verhindern.

          - .htaccess Datei im Verzeichnis
            - Ganzes Verzeichnis mit ".ht" beginnen lassen
            - einzelne Datei mit ".ht" beginnen lassen

          passende Einstellung des Apachen vorausgesetzt.

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau

          1. Hallo Tom.

            I.d.R. ist es unerwünscht, oder sogar kontraproduktiv, wenn aktive Include-Dateien direkt durch den Browser angefordert werden dürfen.

            In diesem Falle sollte man meiner Meinung nach aber--sofern möglich--eher auf die Allow- und Deny-Direktiven zurückgreifen.

            Einen schönen Freitag noch.

            Gruß, Ashura, der in letzter Zeit vermehrt 500er beim Abschicken von Postings erntet

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            mathbr:del.icio.us/ mathbr:w00t/
            1. Hello,

              I.d.R. ist es unerwünscht, oder sogar kontraproduktiv, wenn aktive Include-Dateien direkt durch den Browser angefordert werden dürfen.

              In diesem Falle sollte man meiner Meinung nach aber--sofern möglich--eher auf die Allow- und Deny-Direktiven zurückgreifen.

              Das geht für den ONVU (OttoNormalVerbraucherUser) aber entweder nur über eine .htaccess oder gar nicht. Den .htaccess-Fall hatte ich schon erwähnt :-)

              Harzliche Grüße vom Berg
              http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau

      2. Danke, werde alles berücksichtigen!

  4. Ich bedanke mich bei allen.