![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 573 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, szukam sposobu na rozpoznanie ścieżki do katalogu.
Jak zrobić dynamiczne generowaną ścieżkę do katalogu? Przykład: Mamy katalog główny, w którym znajduje się plik index.php, w katalogu głównym znajduje się katalog include, w którym jest plik menu.php strony z linkami o stałej ścieżce. Dla stron znajdujących się w katalogu głównym wszystko jest ok, ale mamy kolejny element strony ogłoszenia, w katalogu głównym ogloszenia/index.php i tu zaczyna się problem, ponieważ jeśli wczytamy za pomocą funkcji include(); menu.php w katalogu ogloszenia/index.php śieżka musi być inna dla wszystkich linków, grafiki niż dla pliku w katalogu głównym index.php. Potrzebny jest plik menu.php z dynamicznie generowaną ścieżką w zależności od tego, w którym kalalogu zostanie wczytany. Dla katalogu ogloszenia/index.php ścieżka powinna być ../, gdybyśmy mieli kolejne katalogi o poziom wyżej np. ogloszenia/drobne/plik.php ścieżka powinna mieć postać ../../ itd. Chciałbym zapewnić prawidłowe wyświetlanie wszystkich elementów strony, bez konieczności kopiowanie tych samych plików np. menu tylko dlatego, że ścieżka musi być inna, w zależności od umieszczenia pliku w katalogu bieżącym, nadrzędnym, podrzędnym. Ach, piszę i nie bardzo wiem jak przedstawić problem. Może ktoś miał podobny, proszę o rozwiązanie. Pozdrawiam Ten post edytował Malinaa 20.03.2009, 16:30:49 -------------------- I welcome you on the Internet >>> Design by Malina
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
dirname(__FILE__);
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 3 Dołączył: 21.03.2006 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Użyj instrukcji warunkowej np:
chyba, że (nie wiem czy dobrze zrozumialem Twoj problem) wyciagasz sciezke do pliku ze $_SESSION, dzielisz ja za pomoca explode i liczysz ile jest katalogów |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
A po co się bawić w "../../".
Lepiej np. w pliku konfiguracyjnym dać np:
I później:
I 0 bawienia się z "../../". Ten post edytował b4x 20.03.2009, 16:38:57 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 573 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
dirname jest mi znane, ale nie jest to rozwiązanie jakiego szukam.
Potrzebuję nie tyle co rozpoznać ścieżkę (chociaż takie rozwiązanie może okazać się najlepsze), a rozpozać, który to katalog: główny, nadrzędny, podrzędny? Napisałem funkcje, która to realizuje, ale myślę, że można to zrobić bardziej mądrze, potrzebuję szanowni użytkownicy rady fachowca. Funkcja:
Ten post edytował Malinaa 20.03.2009, 18:04:19 -------------------- I welcome you on the Internet >>> Design by Malina
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Potrzebuję nie tyle co rozpoznać ścieżkę (chociaż takie rozwiązanie może okazać się najlepsze), a rozpozać, który to katalog: główny, nadrzędny, podrzędny? No to coś w stylu Twojej funkcji.
A stała DIRECTORY_SEPARATOR? ![]() Cytat Potrzebny jest plik menu.php z dynamicznie generowaną ścieżką w zależności od tego, w którym kalalogu zostanie wczytany. Dla katalogu ogloszenia/index.php ścieżka powinna być ../, gdybyśmy mieli kolejne katalogi o poziom wyżej np. ogloszenia/drobne/plik.php ścieżka powinna mieć postać ../../ itd. To wystarczy prosty explode" title="Zobacz w manualu PHP" target="_manual ze sprawdzeniem ilości elementów... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Potem robisz tak
Ten post edytował kefirek 20.03.2009, 19:58:46 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 573 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem moją funkcje i jest OK.
$znak_podzilu - przeliterowanie którego nie zmieniłem, bo nie nie miało znaczenia w działaniu funkcji. Zobaczę jeszcze Twoje rozwiązanie kefirek. Thank's -------------------- I welcome you on the Internet >>> Design by Malina
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:28 |