PHP获取当前网址/替换网址query中的值

项目中用到的两个函数,自己写了下,放这做为备份吧。

一是PHP获取当前页面的网址:


//获得当前的脚本网址
function GetCurUrl(){
    if(!empty($_SERVER["REQUEST_URI"])){
      $scriptName = $_SERVER["REQUEST_URI"];
      $nowurl = $scriptName;
   }else{
      $scriptName = $_SERVER["PHP_SELF"];
      if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
      else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
   }
   return $nowurl;
}

另一个是PHP替换网址中query部分的某变量的值比如 ,我们要设$url中的key=321;

其实有几种情况:

$url=’www.sina.com/a.php?key=330′; (转化为www.sina.com/a.php?key=321);

或$url=’www.sina.com/a.php’; (转化为www.sina.com/a.php?key=321);

或$url=’www.sina.com/a.php?cat=2′;  (转化为www.sina.com/a.php?cat=2&key=321)

等等。虽然情况很多,但PHP处理起来非常简单,如下:


/* 将URL中的某参数设为某值*/
function url_set_value($url,$key,$value)
{
   $a=explode('?',$url);
   $url_f=$a[0];
   $query=$a[1];
   parse_str($query,$arr);
   $arr[$key]=$value;
   return $url_f.'?'.http_build_query($arr);
}
标签: , ,

关于 虫少侠