Sprawdz cos takiego:
// pobranie listy wszystkich zmiennych przed includem pliku
$wszystkieZmiennePrzed = get_defined_vars();
// globalne zmienne tworzone przez PHP
$doUsuniecia = array('GLOBALS', '_ENV', 'HTTP_ENV_VARS', '_POST', 'HTTP_POST_VARS', '_GET', 'HTTP_GET_VARS', '_COOKIE', 'HTTP_COOKIE_VARS', '_SERVER', 'HTTP_SERVER_VARS', '_FILES', 'HTTP_POST_FILES', '_REQUEST');
// usuniecie globalnych
foreach ( $doUsuniecia as $superGlobalna ) {
unset($wszystkieZmiennePrzed[$superGlobalna]); }
// include pliku
include('zmienne.php');
// pobranie listy wszystkich zmiennych po includowaniu
$wszystkieZmiennePo = get_defined_vars();
// usuniecie globalnych
foreach ( $doUsuniecia as $superGlobalna ) {
unset($wszystkieZmiennePo[$superGlobalna]); }
// usuniecie utworzonych teraz
unset($superGlobalna, $doUsuniecia);
// roznica miedzy lista zmiennych przed i po includowaniu
$roznica = array_diff($wszystkieZmiennePo, $wszystkieZmiennePrzed);
// usuniecie utworzonych teraz
unset($roznica['doUsuniecia'], $roznica['wszystkieZmiennePrzed'], $roznica['superGlobalna']);
// pobranie nazw zmiennych z roznicy
// usuwanie zmiennych zaincludowanych
foreach ( $dodane as $zmienna ) {
}
Ten post edytował Pacio 21.01.2010, 23:10:22