Belgin Fish
Belgin Fish

Reputation: 19837

Get the GET variables from a URL String

Hey, say I have a url just being passed through my php is there any easy way to get some GET variables that are being passed through it? It's not the actual url of the page or anything.

like a just have a string containing

http://www.somesite.com/index.php?url=var&file_id=var&test=var

Whats the best way to get the values for those variables?

Upvotes: 13

Views: 33929

Answers (5)

user1003932
user1003932

Reputation:

It's actually a lot easier than writing any custom functions.

$queryStr = $_SERVER['QUERY_STRING'];

Upvotes: 4

misterte
misterte

Reputation: 997

I'd use something like:

preg_match_all('/(\?|&)([^=]+=[^&]*)/', $string , $matches);

then

print_r($matches[2]);
/*
Array
(
    [0] => url=var
    [1] => file_id=var
    [2] => test=var
)
*/

Hope it works 4 u.

Upvotes: 0

Kris
Kris

Reputation: 41837

$href = 'http://www.somesite.com/index.php?url=var&file_id=var&test=var';

$url = parse_url($href);
print_r($url);
/* Array
(
    [scheme] => http
    [host] => www.somesite.com
    [path] => /index.php
    [query] => url=var&file_id=var&test=var
) */

$query = array();
parse_str($url['query'], $query);

print_r($query);
/* Array
(
    [url] => var
    [file_id] => var
    [test] => var
) */

Upvotes: 16

cristis
cristis

Reputation: 1995

parse_str(parse_url($url, PHP_URL_QUERY), $array), see the manpage for parse_str for more info.

Upvotes: 39

Anon.
Anon.

Reputation: 59993

A quick google for "PHP GET" gives this page from w3schools:

http://www.w3schools.com/php/php_get.asp

Upvotes: -1

Related Questions