Эй, скажите, у меня только что прошел URL через мой php. Есть ли какой-нибудь простой способ получить некоторые переменные GET, которые передаются через него?Это не фактический URL страницы или что-то в этом роде.
, например, просто есть строка, содержащая
http://www.somesite.com/index.php?url=var&file_id=var&test=var
Какой лучший способ получить значения для этих переменных
parse_str(parse_url($url, PHP_URL_QUERY), $array), см. Справочную страницу для parse_str для получения дополнительной информации.
parse_str(parse_url($url, PHP_URL_QUERY), $array)
$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 ) */
На самом деле это намного проще, чем написание любых пользовательских функций.
$ queryStr = $ _SERVER ['QUERY_STRING'];
Я бы использовал что-то вроде:
preg_match_all('/(\?|&)([^=]+=[^&]*)/', $string , $matches);
тогда
print_r($matches[2]); /* Array ( [0] => url=var [1] => file_id=var [2] => test=var ) */
Надеюсь, это сработает 4 u.
Быстрый Google для "PHP GET" дает эту страницу от w3schools:
http://www.w3schools.com/php/php_get.asp