Weil in dem erzeugten HTML der Text an den 2 gewünschten Stellen steht
Da stimmt was an Deiner Darstellung des Sachverhaltes nicht:
<?php
# test.php
require_once 'test.txt';
require_once 'test.txt';
?>
test.txt:
Hallo
Ausführen/Ausgabe:
fastix@trainer:/tmp$ php test.php
Hallo
fastix@trainer:/tmp$
Wenn das stimmen würde, was Du behauptest, dann müsste da 2x Hallo stehen. Ersetze ich jeweils require_once durch reguire, dann passiert das auch.
Es stimmt auch, wenn die Dateien so aussehen:
<?php
# test.php
require_once 'test.inc';
print $text;
require_once 'test.inc';
print $text;
?>
test.inc:
<?php
$text="Hallo\n";
Das ist aber logisch, denn durch das automatisch unterlassene Einbinden der test.txt ändert sich die Variable nicht.
Aus genau diesem Grund bitten wir immer um Codebeispiele.
Merke: "Unerklärliches" lässt sich nicht oder nur mit einem irren und oft nicht leistbaren Aufwand hinsichtlich der Spekulation in allen Richtungen erklären, wenn die Umstände des "Unerklärlichen" nicht erklärt werden.
Jörg Reinholz