Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]czyszczenie/usuwanie zmiennych z includowanego pliku
sweter
post 21.01.2010, 21:51:14
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam, 

w pliku index.php dołączam plik:

  1.  
  2. include_once('./plik.php');
  3.  


Po dołączeniu pliku, chciałbym usunąć lub wyczyścić wszystkie zmienne i tablice, które były używane w includowanym pliku.

Czy jest to w ogóle możliwe?



--------------------
Go to the top of the page
+Quote Post
Pacio
post 21.01.2010, 23:03:58
Post #2





Grupa: Zarejestrowani
Postów: 105
Pomógł: 27
Dołączył: 30.10.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Sprawdz cos takiego:

  1. // pobranie listy wszystkich zmiennych przed includem pliku
  2. $wszystkieZmiennePrzed = get_defined_vars();
  3.  
  4. // globalne zmienne tworzone przez PHP
  5. $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');
  6.  
  7. // usuniecie globalnych
  8. foreach ( $doUsuniecia as $superGlobalna ) {
  9. unset($wszystkieZmiennePrzed[$superGlobalna]);
  10. }
  11.  
  12. // include pliku
  13. include('zmienne.php');
  14.  
  15. // pobranie listy wszystkich zmiennych po includowaniu
  16. $wszystkieZmiennePo = get_defined_vars();
  17.  
  18. // usuniecie globalnych
  19. foreach ( $doUsuniecia as $superGlobalna ) {
  20. unset($wszystkieZmiennePo[$superGlobalna]);
  21. }
  22.  
  23. // usuniecie utworzonych teraz
  24. unset($superGlobalna, $doUsuniecia);
  25.  
  26. // roznica miedzy lista zmiennych przed i po includowaniu
  27. $roznica = array_diff($wszystkieZmiennePo, $wszystkieZmiennePrzed);
  28.  
  29. // usuniecie utworzonych teraz
  30. unset($roznica['doUsuniecia'], $roznica['wszystkieZmiennePrzed'], $roznica['superGlobalna']);
  31.  
  32. // pobranie nazw zmiennych z roznicy
  33. $dodane = array_keys($roznica);
  34.  
  35. // usuwanie zmiennych zaincludowanych
  36. foreach ( $dodane as $zmienna ) {
  37. unset($$zmienna);
  38. }


Ten post edytował Pacio 21.01.2010, 23:10:22


--------------------
Mój Blog Militarny: http://1rBlog.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 5.07.2025 - 04:59