include() define() und relativer Pfade
erik
- php
Ich erstelle eine Konstante Namens TEST mit
define("TEST", "inhalt);
dann binde ich mit
include("http://www.domain.de/datei_include.php");
eine Datei ein. In dieser Datei gebe ich die Konstante mit echt TEST aus.
echo TEST;
Aber es kommt keine Ausgabe. Wenn ich aber mit include("./datei_include.php") arbeite, funktioniert es.
Normal?
hi,
Ich erstelle eine Konstante Namens TEST mit
define("TEST", "inhalt);
dann binde ich mit
include("http://www.domain.de/datei_include.php");
eine Datei ein.
Hast du dir mal überlegt, was dabei passiert?
Die Ressource wird über HTTP angefordert - ganz genauso, als wqenn du das über deinen Browser oder einen beliebigen anderen Client machen würdest.
Sozusagen ein eigenständiger "Prozess", der von allem anderen um ihn herum nichts weiss.
In dieser Datei gebe ich die Konstante mit echt TEST aus.
echo TEST;
Aber es kommt keine Ausgabe.
Natürlich nicht, siehe oben.
Aber eine Fehlermeldung käme, wenn du dein error_reporting zum Entwickeln vernünftig eingestellt hättest (E_ALL).
Wenn ich aber mit include("./datei_include.php") arbeite, funktioniert es.
Normal?
Voll normal.
In diesem Falle wird nämlich dein per include eingebundener Code quasi wie bie Copy&Paste in das "umgebende" Script eingesetzt, und erst dann ausgeführt.
gruß,
wahsaga
alles klar, danke der Antwort