![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
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:
To się uda pod warunkiem, że nie masz tam większych kombinacji, ale ciężko powiedzieć bez kodu źródłowego. -------------------- |
|
|
![]()
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? |
|
|
-arrtxp- |
![]()
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.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 23:35 |