Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie części adresu z rzeglądarki, automatycznie
TwojPan
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 13.08.2013

Ostrzeżenie: (0%)
-----


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.

Ten post edytował TwojPan 1.07.2014, 07:11:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
MatKus
post
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


$_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

Ten post edytował MatKus 1.07.2014, 06:52:13
Go to the top of the page
+Quote Post
Michael2318
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/wink.gif)

Ten post edytował Michael2318 1.07.2014, 08:28:09
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:09