Einfache Include-Fragen zu PHP...
Shyne
- php
0 Marian0 XaraX0 Der Martin0 Shyne0 Tom0 Der Martin0 Shyne
0 Shyne
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
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
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
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
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
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
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
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
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
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
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
Danke, werde alles berücksichtigen!
Ich bedanke mich bei allen.