![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak uzyskać ścieżkę względną dołączonego pliku w najprostszy sposób?
To nie jest ścieżka względna, tylko absolutna: C:\xampp\katalog\skryptu Nie ma go także w tablicy $_SERVER, bo ona jest tworzona przed wywołaniem include(). Dla tych, co nie rozumieją:
Po co mi to? Aby wstawić do kodu HTML, np. <script src="">, a tam musi być ścieżka typu katalog/skryptu/ -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
-krzotr- |
![]()
Post
#2
|
Goście ![]() |
Może coś takiego ?
Zobacz jeszcze get_included_files Ten post edytował krzotr 23.04.2011, 13:19:00 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wykombinowałem na szybko coś takiego - działa tak samo jak z get_included_files:
Jeżeli chcecie ten kod wykorzystać, przetestujcie go, czy działa dla wszystkich możliwych przypadków. Czy gra warta świeczki? Czy po prostu zabronić użytkownikom skryptu zmiany nazwy katalogu i kazać umieścić go tam, gdzie jest index.php czy tam inny skrypt (zazwyczaj w folderze głównym)? Wierzcie, że nie wszyscy umieją podać właściwą ścieżkę ręcznie. -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Czy po prostu zabronić użytkownikom skryptu zmiany nazwy katalogu i kazać umieścić go tam, gdzie jest index.php czy tam inny skrypt (zazwyczaj w folderze głównym)? Wierzcie, że nie wszyscy umieją podać właściwą ścieżkę ręcznie. Ustaw jakąś domyślną ścieżkę z możliwością jej zmiany. Co do kodu, to sprawdzałem na linuksie i nie działa, po prostu wyświetla pustą stronę, a nie prościej zrobić tak: ? // edit jeszcze krócej: Ten post edytował darko 26.04.2011, 05:30:55 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat sprawdzałem na linuksie i nie działa, po prostu wyświetla pustą stronę A użyłeś instrukcji echo bądź var_dump($dir)? Zrób tak:
Nie zawsze warto polegać na tablicy $_SERVER. Niektóre serwery nie przekazują wszystkich danych. Użytkownik i tak będzie musiał podać ścieżkę do pliku, który dołącza. Przykład:
Ten post edytował WebCM 26.04.2011, 11:30:36 -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A użyłeś instrukcji echo bądź var_dump($dir)? Tak, var_dump($dir); zwróciło: string(0) "" gdybym nie sprawdził, nie napisałbym, że sprawdziłem. Nic dziwnego, na linuksie nie ma ścieżek windowsowych (\\). -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli oba pliki są w tym samym katalogu, pojawi się dokładnie string(0) "". Zauważ, że zamieniam \ na / po to, by po stronie klienta ścieżki były prawidłowe. Jeżeli nie będzie \ to str_relace() pozostawi ścieżkę bez zmian.
-------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 09:24 |