Melvin Cowznofski: Variablen bei include_once()

Beitrag lesen

Hallo,

ich habe gerade ein Phänomen festgestellt, das ich mir nicht erklären kann.
Gegeben sei folgende Situation im Wurzelverzeichnis der Domain www.example.com:

Im Ordner "test2" liegt folgende "index.php":

<?php  
  $variable = 'foo';  
  include_once('../test3/file.php');  
?>

Im Ordner "test3" liegt die Ressource "file.php":

<?php  
  var_dump($variable);  
?>

Wenn ich nun www.example.com/test2 aufrufe, erscheint das, was ich erwarte: string(3) "foo"
So weit, so gut. Nun ändere ich die index.php und mache aus der relativen eine absolute Pfadangabe:

<?php  
  $variable = 'foo';  
  include_once('www.example.com/test3/file.php');  
?>

Wenn ich die Seite jetzt erneut aufrufe, liefert mir die Variablenüberprüfung ein NULL.

Und das verstehe ich nicht. Die Variable ist sicher gesetzt. Das sehe ich, wenn ich am Ende der "index.php" ein 2. var_dump() setze. Und die "file.php" wird auch sicher eingefügt. Das erkenne ich, wenn ich noch irgend ein echo"..." dazugebe. Es wäre also wie im 1. Fall alles da!

Wieso erkennt die eingebettete Ressource die bestehende Variable nur bei relativer, aber nicht bei absoluter Pfadangabe? Kann mir das bitte wer in verständlichen Worten erklären?

Mit lieben Grüßen und bestem Dank im Voraus

Melvin Cowznofski

--

Melvin Cowznofski
What – me worry?