Hi!
Und dann scheint mir das ganze include fehl am Platz, wenn, nach der Dateiendung zu schließen, eine Textdatei inkludiert werden soll. Wenn nur Textdateien ohne zu auszuführenden PHP-Code eingeladen werden sollen, nimmt man besser die Funktion readfile() - diesmal mit Klammern, da es eine echte Funktion ist.
Sollte es sich hier nicht um eine Textdatei handeln, sondern wirklich um eine Datei mit PHP-Code, dann sollte man diese in gar keinem Fall "irgendwas.txt" nennen.
Einige Leute haben sich auch angewöhnt, ihren einzubindenen PHP-Dateien die Dateiendung ".inc" zu verpassen.
Auch das sollte man in gar keinem Fall tun!
Wenn man eine Datei mit PHP-Code einbinden will, dann sollte die Dateiendung immer ".php" lauten.
Wenn der Dateiname nicht auf ".php" endet und jemand diese Datei direkt anfordert, dann wird sie entweder zum Download geboten (z.B. bei "irgendwas.inc") oder sie wird im Browser angezeigt (bei "irgendwas.txt).
Das hat dann zur Folge, daß man den PHP-Code der Datei einsehen kann, was ganz gefährlich werden kann.
Angenommen, du willst eine Verbindung zu deinem Datenbankserver herstellen.
Weil du diesen Codeteil in verschiedenen Scripten brauchst, lagerst du ihn aus, speicherst den Krams als "connect.inc" ab und bindest das in deinen PHP-Scripten ein.
Fordert jetzt jemand diese Datei direkt an, hat er die Zugangsdaten zu deinem Server.
Mal gut, daß man solche Files nur schwer mit einer Suchmaschine findet, weil .inc-Files nicht verlinkt werden und weil Google keinen filetype:inc zuläßt (da gibt es nur ein paar wenige Filetypes).
Naja, aber wenn ich mal eine Suchmaschine einsetze, dann finde ich schon ein paar Beispiele.
In jedem Fall: Wenn es sich um eine einzubindene Datei mit PHP-Code handelt, dann muß sie die Endung ".php" erhalten.
Wenn man so eine Datei direkt anfordert, dann kommt es zwar zur einer Fehlermeldung, aber der Quellcode wird nicht preisgegeben.
Schöner Gruß,
rob