Eddie: Testen, ob Datei schon included?

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

  1. Hi!

    Du suchst die Funktion include_once()!

    Grüße
    Andreas

    1. Du suchst die Funktion include_once()!

      :-) JETZT habe ich ENDLICH diese Funktion verstanden!!!

      Danke!

      1. 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

        --
        This posting comes with ABSOLUTELY NO WARRANTY, to the extend permitted by applicable law.
        ss:| zu:) ls:[ fo:) de:] va:) ch:? sh:( n4:& rl:( br:< js:| ie:{ fl:( mo:}
        Selfcode? Was ist denn das? http://emmanuel.dammerer.at/selfcode.html
        1. 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

            1. 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

        2. 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

          1. 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

            --
            This posting comes with ABSOLUTELY NO WARRANTY, to the extend permitted by applicable law.
            ss:| zu:) ls:[ fo:) de:] va:) ch:? sh:( n4:& rl:( br:< js:| ie:{ fl:( mo:}
            Selfcode? Was ist denn das? http://emmanuel.dammerer.at/selfcode.html