2011-01-10 5 views
0

현재 페이지의 URL에서 모든 가져 오기 인수를 뺀 값을 얻는 방법 (? blah = 2 & blah4 = 90 ...) $로 전체 URL을 얻을 수 있다는 것을 알고 있습니다. _SERVER [ 'REQUEST_URI']하지만 내 필요에 더 맞는 것이 있는지 궁금해하고있었습니다.PHP : 페이지 URL에서 인수 빼기 가져 오기

아니면 그냥 strpos해야합니까? 인수를 잘라내는 substr? (내가 달러 (A $)의 _SERVER var에보다 효율적으로 될 것이라고 상상 -있는 경우)

감사

+0

PHP의 parse_url을보고 싶을 수도 있습니다. 그것은 당신이 찾고있는 것을해야합니다. –

답변

5

$_SERVER['REQUEST_URL']

때때로 답변을 쉽게 :) 내가 여기 해결책을 발견 : http://php.net/manual/en/reserved.variables.server.php CTRL + F'ing에 의해 "쿼리". matchu이 코멘트에 말했듯이

편집

, 모든 서버는 요청 URL을 지원합니다. 이 경우 훨씬 덜 우아한 strtok($url, '?');을 사용합니다. 그것은 코멘트에 여기에 열거 된

+1

이것이 단지 의견에 불과하다는 사실은 나를 긴장하게 만듭니다. 예상대로 작동하지만 모든 환경에 맞지는 않을 수 있습니다. – Matchu

+0

@nightcracker 젠장, 날 때려, 롤! – Jason

+0

하하, 내 것보다 낫다. +1. 그냥 내 대답을 없애 버리 겠어. – Beaker

0

당신은 사용할 수있는 parse_url function하고 당신이 필요로하는 부품 CONCAT (스키마, 호스트, 포트, 사용자는 통과 경로)

0

당신은 이런 식으로 뭔가 함께 할 수

$url=$_SERVER["REQUEST_SCHEME"]."://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]; 
0

당신에게 당신이 $url[0]은 "첫 번째 부분"과 $url[1] 모든 인수에있을 것이다

$url = explode("?",$_SERVER[REQUEST_URI]); 
$url = "http://$_SERVER[HTTP_HOST]/" . $url[0]; 

URL을 폭발과 함께이를 사용할 수 있습니다, 아주 간단합니다 .