Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie części adresu z rzeglądarki
Forum PHP.pl > Forum > PHP
TwojPan
Witam,
Jak pobrac adres z przegladarki nie znajac gdzie bedzie sie znajdowal plik ?

Przykladowo moze to byc odwolanie do pliku w katalogu glownym

http://mojastrona.pl

badz tez "zakopane" gdzies w 30tu katalogach....

http://mojastrona.pl/katalog1/katalog2/kat........./

Potrzebuje zwrocic adres ale do ostatniego znaku "/" - bez nazwy pliku.


  1. $_SERVER['SCRIPT_NAME'];


Zwraca wszystko poczawszy od pierwszego katalogu lecz bez nazwy domeny.

Edit,

Alarm odwolany. Juz zrobilem

  1. print $_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];


Samą nazwe pliku wytne bo wiem jak sie nazywa.
MatKus
$_SERVER["REQUEST_URI"] przechowuje informację o pełnej ścieżce od / , czyli http://example.com/adres/twojej/strony.php. Z tego możesz wyciągnąć ścieżkę (dirname() )
Jeszcze lepszym rozwiązaniem jest $_SERVER['PATH_INFO'], który w tym wypadku zawiera http://example.com/adres/twojej/strony.php. Z tym, że pamiętam, że kiedyś się spotkałem z sytuacją, kiedy INFO_PATH nie było na serwerze zdefiniowane mimo, że według wszelkich znanych mi manuali powinno być zawsze (nie licząc CLI)

Chyba, że chodzi ci o ścieżkę na dysku niezależną od adresu internetowego. Wówczas dirname(__FILE__); powinno pomóc, ale pamiętaj, że to da ci pełną ścieżkę na serwerze, czyli najcześćiej wyglądającą np. tak /var/www/example.com/public_html/adres/twojej
Michael2318
Cytat
Z tym, że pamiętam, że kiedyś się spotkałem z sytuacją, kiedy INFO_PATH nie było na serwerze zdefiniowane mimo, że według wszelkich znanych mi manuali powinno być zawsze (nie licząc CLI)


Dzieje się tak ponieważ na jednych serwerach ten adres jest dostępny pod taką tablicą:

  1. $_SERVER['PATH_INFO']


a na niektórych pod taką:

  1. $_SERVER['ORIG_PATH_INFO']


A w taki sposób można to zrobić dynamicznie pod każdy serwer:

  1. $adres = '';
  2.  
  3. if (!empty($_SERVER['PATH_INFO']) )
  4. {
  5. $adres = $_SERVER['PATH_INFO'];
  6. }
  7. if ( empty($adres) && !empty($_SERVER['ORIG_PATH_INFO']) )
  8. {
  9. $adres = $_SERVER['ORIG_PATH_INFO'];
  10. }


I w zmiennej $adres ZAWSZE powinniśmy otrzymać ten string wink.gif
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.