Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Izolowane includowanie, lub wykonywanie kodu PHP z poziomu innego pliku
8rol
post 3.08.2013, 12:17:05
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 10.10.2009

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


Mam główny plik BAZA.php (który uruchamiany jest za pomocą crona) i zadaniem tego pliku jest wywołanie innych plików PHP - 1.php, 2.php, ... i tak powiedzmy do 100.php.

Dotychczas robiłem to w ten sposób, iż plik BAZA.php includował te pliki dzieci. Jednak po czasie odkryłem problem, który polega na kolizji tych samych nazw zmiennych pomiędzy różnymi plikami. Zatem moje pytanie jest takie, w jaki sposób za pomocą jednego pliku głównego wywołać te wszystkie pozostałe, w jaki sposób aby jeden plik, nie miał wpływu na drugi. Wiem, że można zrobić to za pomocą exec()'a itp., ale o ile to możliwe szukam innego rozwiązania.

Ten post edytował 8rol 3.08.2013, 12:20:49
Go to the top of the page
+Quote Post
redeemer
post 3.08.2013, 12:27:51
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


No rozwiązałeś to chyba na jeden z najgorszych możliwych sposobów, ale jak koniecznie chcesz obejść to na szybko to wpakuj include wewnątrz funkcji, dzięki temu zakres widoczności zmiennych z plików 1.php, 2.php będzie ograniczony tylko do tej funkcji, czyli:
  1. function my_include($fname) {
  2. include($fname);
  3. }
  4. ...
  5. my_include('1.php');
  6. my_include('2.php');
  7. ...
To się uda pod warunkiem, że nie masz tam większych kombinacji, ale ciężko powiedzieć bez kodu źródłowego.


--------------------
Go to the top of the page
+Quote Post
8rol
post 3.08.2013, 17:00:36
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 10.10.2009

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


Dzięki, pomysł z includowaniem każdego pliku wywołując w tym celu ponownie funkcję wydaję się być OK.

Ale oczywiście zapytam również, jakie rozwiązanie tego problemu proponowałbyś, nawet gdyby wymagało to gruntownej przebudowy całości?
Go to the top of the page
+Quote Post
-arrtxp-
post 3.08.2013, 18:10:25
Post #4





Goście







Te podane rozwiązanie, rozwiąże Twój cały problem. Nic nie musisz zmieniać, choć includowanie 100 plików... to wada.
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: 24.07.2025 - 23:35