php获取当前url 心得

关于服务器变量:$_SERVER 常用的有以下参数

$_SERVER['SERVER_NAME']

$_SERVER["SERVER_PORT"]

$_SERVER['REQUEST_URI']

可以通过下面的方法获取当前页面完整的url地址

$url_loc = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


关于通过$_GET 获取url参数时,会遇见如下的情况

比如:http://app.test.com/test.php?resource=MwALAAUAEgAPABsAS*********+****************AA9AFsAOgBdAAoARAAFADUAUgB0AEQAKQAPAA8ACwBIAAgADgAIAA**************TABIADAA=&contentid=***123

其中

MwALAAUAEgAPABsAS*********+****************AA9AFsAOgBdAAoARAAFADUAUgB0AEQAKQAPAA8ACwBIAAgADgAIAA**************TABIADAA 是resource的参数,如果使用$_GET 或者 $_REQUEST 获取的时候就会把中间的 “+” 替换成空格,很不解,也许浏览器把这种情况当做 2个关键字解析了吧。。有待分析。。。如果想获取完整的url参数可以通过正则的方式

preg_match('#resource=(.*)&contentid=#Uis', $url_loc, $urlarr);
$url = $urlarr[1];

echo $url; 



你可能感兴趣的:(PHP,server,浏览器,服务器,url)