Ich vermute du machst ein include auf
http://... Damit spielt dein PHP Browser, ruft die fremde Seite ab und bettet die Ausgabe als PHP-Code ein.
In 99,999 % der Fälle bringt readfile() das gleiche Ergebnis. Die Seite wird ja schon auf dem Rechner erstellt, von dem sie abgerufen wird. Das Ergebnis (also das ausgegebene HTML) wird als PHP-Code ausgeführt. Dort sind die Variablen dann vorhanden, nur eben keine Anweisungen mehr, die auf sie zugreifen würden.
include() sollte man daher immer auf lokale Dateien anwenden. Für externe Seiten hat man Dateifunktionen wie readfile(), file_get_contents() und fopen()/fread(). Die Variablen werden dann wie im Browser auch per GET oder POST übermittelt.
---
Weaverslave