Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wydobycie adresu skryptu
Forum PHP.pl > Forum > PHP
romseb
Witam

Mam pytanie jak w tytule. Jak wydobyć adres aktualnie wykonywanego skryptu, ale bez jego tytułu. Jest taka funkcja która krąży po internecie, nazywa się selfurl, ona prawie to robi. Prawie, bo podaje również nazwę skryptu. Tutaj chodzi o to, żeby ze smiennej uzyskać tylko ścieżkę do skryptu, bo sam skrypt będzie uruchamiany z różnych lokalizacji, i chodzi o to, żeby za każdym rarzem nie wpisywać ręcznie ścieżki.

Będę wdzięczny za pomoc

romseb
Sephirus
Jeśli dobrze zrozumiałem to wystarczy uzyć w PHP magicznej stałej:

  1. echo __FILE__;
pedro84
Adres czy ścieżkę?
by_ikar
  1. <?php
  2.  
  3. //bezwzględna ścieżka do katalogu na serwerze
  4. var_dump(str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_FILENAME']));
  5.  
  6. //względny adres url dla katalogu w którym znajduje się plik
  7. var_dump(str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']));


Jeżeli przykładowo masz katalog w ścieżce: C:/projekty/katalog/index.php to pierwsza linijka wyświetli ci: C:/projekty/katalog/
W przypadku drugiej linijki, jeżeli twój adres url wygląda tak: example.com/katalog/index.php wówczas wyświetli ci: /katalog/

Pierwszy przykład jest dla plików i funkcji plikowych. Drugi przykład jest dla obrazków, styli, i linków do podstron. Możesz sobie zrobić z tego zmienne lub stałe:


  1. <?php
  2.  
  3. //bezwzględna ścieżka do katalogu na serwerze
  4. $basePath = str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_FILENAME']);
  5.  
  6. //względny adres url dla katalogu w którym znajduje się plik
  7. $baseUrl = str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);


Wówczas jak wszędzie przy linkach/ścieżkach do plików będziesz z nich korzystać, to przeniesienie do katalogu podrzędnego czy nadrzędnego nie będzie dla ciebie żadnym kłopotem.

Następnym razem doprecyzuj swoje pytanie, bo jest dość ogólne, dlatego podałem zarówno ścieżkę do pliku jak i adres url do pliku.
romseb
Witam.

Chodzi mi o pobranie lokalizacji skryptu w formacie http, i tylko lokalizacji bez nazwy skryptu Na przykład jeśli mamy adre skryptu www.wpa.pl/demo/skrypt.php, chciałbym otrzymać www.wpa.pl/demo.

Pozdrawiam

romseb
by_ikar
W takim wypadku to co ci wyżej podałem, jedynie trzeba dodać host:

  1. $absoluteUrl = 'http://'.$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
romseb
Serdecze dzięki Państwu:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.