Testen, ob Datei schon included?
Eddie
- php
Hallo,
Gibt es irgendeine elegante Loesung, um zu checken, ob Datei xyz schon included wurde?
Meine alternative Loesung waere, in jeder der Dateien eine Anweisung unterzubringen á la
global $includedFiles;
$includedFiles[sizeof($includedFiles)] = Dateiname;
Und beim versuchten Includieren dann die entsprechende Abfrage
if (!in_array("Dateiname", $includedFiles))
{
include("Dateiname");
}
Wenig elegant, gibt's da was Besseres?
Danke, Eddie
Hi!
Du suchst die Funktion include_once()!
Grüße
Andreas
Du suchst die Funktion include_once()!
:-) JETZT habe ich ENDLICH diese Funktion verstanden!!!
Danke!
Hallo Eddie
:-) JETZT habe ich ENDLICH diese Funktion verstanden!!!
Ich leider noch nicht ganz. Wenn ich eine Datei mit include_once einbinde und diese dann nochmal mit include, wird die include-Anweisung dann wirkungslos?
Oder ist es so, dass wenn ich include_once verwende, die Datei nur eingebunden wird, wenn sie noch nicht eingebunden ist?
Vielen Dank schon mal
Johannes
Wo liegt der Unterschied??
Also soweit ich weiß, wird die Seite beim ersten mal wie mit include eingebuinden, und das zweitemal wird sie einfach überspringen. Wo wir grad beim Thema sind: was ist der Unterschied von include und require??
Thx, Peter
Hi Peter,
was ist der Unterschied von include und require??
http://www.dynamic-webpages.de/50.tutorials.php?dwp_tutorialID=1
Übrigens:
http://www.google.at/search?q=php+unterschied+include+require
http://s.teoma.com/search?q=php+unterschied+include+require
http://at.altavista.com/web/results?q=php+unterschied+include+require
[...]
Grüße,
Roland
Hallo Roland,
http://www.dynamic-webpages.de/50.tutorials.php?dwp_tutorialID=1
Die Information ist falsch. Das war einmal. (vor langer Zeit, ich glaube, das hat sich mit der Einführung von PHP 4.0 geändert, also über 2 Jahre her!) Der einzige Unterschied, der heutzutage noch existiert, ist die unterschiedliche Fehlerbehandlung:
include => Warnung, Script läuft weiter
require => Fatal Error, Script wird abgebrochen
Siehe auch: http://de3.php.net/manual/de/function.include.php
Viele Grüße,
Christian
Hallo Johannes,
Ich leider noch nicht ganz. Wenn ich eine Datei mit include_once einbinde und diese dann nochmal mit include, wird die include-Anweisung dann wirkungslos?
Nein.
Oder ist es so, dass wenn ich include_once verwende, die Datei nur eingebunden wird, wenn sie noch nicht eingebunden ist?
Ja. Beispiele:
include 'a.php';
include 'a.php';
=> zweimal eingebunden
include_once 'a.php';
include_once 'a.php';
=> einmal eingebunden
include 'a.php';
include_once 'a.php';
=> einmal eingebunden
include_once 'a.php';
include 'a.php';
=> zweimal eingebunden
Jetzt klarer?
Viele Grüße,
Christian
Hallo Christian
Vielen Dank erstmal.
Ich fasse jetzt noch einmal zusammen:
include_once() funktioniert wie include(), nur wird vor dem Einbinden der Datei überprüft, ob die Datei schon eingebunden ist.
Schöne Grüße
Johannes