Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nazwa pliku z adresu URL - jak wyciąć
Forum PHP.pl > Forum > PHP
115750
Jak łatwo wyciąć nazwę pliku i przekazane parametry z adresu URL?

Dla przykładowego adresu http://serwer.pl/plik_abc.php?parametr_1=ab

Chciałbym uzyskać plik_abc.php?parametr_1=ab

Obecnie realizuję to następującym kodem:

Kod
$url = parse_url($_POST['link']);
$link = $url['path'].'?'.$url['query'];
$link = substr($link, 1);


Jednak takie rozwiązanie wydaje mi się mało eleganckie i nie jestem przekonany, czy w każdym przypadku będzie działać.

Może macie jakieś lepsze/prostsze pomysły?
Sephirus
$_SERVER['REQUEST_URI'] bodajże wink.gif (Ale tylko jak adres jest pasku ;P)

Dla innych jest wiele sposobów - twój nie jest taki zły,

Można dać także

  1. $l = explode('/',$_POST['link']);
  2. $link = $l[count($l)-1];
abort
Sephirus podał, jak odczytać dałe URI, zaś dostęp TYLKO do parametrów to raczej tablica $_GET:

  1. foreach ($_GET as $key => $value) {
  2. print "$key => $value<br>";
  3. };
Sephirus
@abort - to też zależy co dokładnie chce autor tematu bo samo wypisanie zmiennych GET to

  1. echo $_SERVER['QUERY_STRING'];


Z tego co zrozumiałem to Autor przesyła link jako zmienną post więc nasze powyższe dwie metody nie zadziałają bo działają jedynie na adres wywołania skryptu.
abort
No a ja zobaczyłem http://serwer.pl/plik_abc.php?parametr_1=ab, a nie zauważyłem $_POST w boxie z kodem, więc się zafiksowałem na GET.
Swoją drogą, dość ciekawe kombinacje - ciekawe, dlaczego.
115750
Cytat(Sephirus @ 31.10.2011, 14:47:27 ) *
Z tego co zrozumiałem to Autor przesyła link jako zmienną post więc nasze powyższe dwie metody nie zadziałają bo działają jedynie na adres wywołania skryptu.

Chodzi o to, że wysyłam cały adres moim odbiorcom newslettera mailem - wpisuję go ręcznie w formularzu.
Przy okazji zapisuję jednak w bazie danych samą nazwę pliku z parametrami, czyli adres ale bez hosta.
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.