Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nazwa pliku z adresu URL - jak wyciąć, Jak łatwo wyciąć nazwę pliku i przekazane parametry z adresu URL?
115750
post 31.10.2011, 13:05:30
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


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?

Ten post edytował 115750 31.10.2011, 13:10:02
Go to the top of the page
+Quote Post
Sephirus
post 31.10.2011, 13:15:49
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


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


Ten post edytował Sephirus 31.10.2011, 13:19:25


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
abort
post 31.10.2011, 13:29:25
Post #3





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


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. };
Go to the top of the page
+Quote Post
Sephirus
post 31.10.2011, 13:47:27
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


@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.


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
abort
post 1.11.2011, 00:10:39
Post #5





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


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.
Go to the top of the page
+Quote Post
115750
post 5.11.2011, 22:42:45
Post #6





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2025 - 03:13