php获取当前网址url并替换参数或网址

<?php
header("Content-type: text/html; charset=utf-8");

//示例地址 http://192.168.1.8/demo/huo-qu-url.php?id=123&at=www

echo '获取域名或主机地址'.$_SERVER['HTTP_HOST']."<br>";
//192.168.1.8

echo '<br>获取网页地址:'.$_SERVER['PHP_SELF']."<br>"; 
//demo/huo-qu-url.php

echo '<br>获取网址参数:'.$_SERVER["QUERY_STRING"]."<br>";
//id=123&at=www

echo '<br/>获取来路:'.$_SERVER['HTTP_REFERER']."<br>"; 

echo '<br>获取完整的url: http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//http://192.168.1.8/demo/huo-qu-url.php?id=123&at=www

echo '<br><br>包含端口号的完整:http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
//http://192.168.1.8:80/demo/huo-qu-url.php?id=123&at=www

echo '<br><br>只取路径:http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; 
echo dirname($url);

$url = $_SERVER['PHP_SELF']; 
$filename = end(explode('/',$url)); 
echo '<br><br>当前运行脚本的文件名:'.$filename; //输出当前运行脚本的文件名

echo '<br><br>ID是: '.$_REQUEST['id'];//输出:123
echo '<br><br>at是: '.$_REQUEST['at'];//输出:www



?>

 

php获取当前网址url并替换参数或网址的方法

1,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′;
或$url='www.sina.com/a.php;
或$url='www.sina.com/a.php?cat=2′;
等等。虽然情况很多,但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);
}

还有一种:

/**
*使用例程:可用于分页类或页面中的替换等
$url = "add_jd.php?pid=4&tb=gm_jd&page=1";
echo( "原始的URL:" . $url );
echo( '<br/>' );
echo( "字符串参数:" . url::replace( $url , "pid=10,page=2") );
echo( '<br/>' );
echo( "数组型参数:" . url::replace( $url , array('pid'=>10,'page'=>5)) );
//echo( urlReplace( $url , array('pid'=>10,'page'=>5)) );
*/
/**
* url replace
* @param string $url 需要替换的URL字符串,一般为aaa.php?abc=def,也可以带上路径,象http://xxx.com/abc/def.php?aa=bb
* @param mixed $options 需要替换的变量,可以是字符串或数组,如果是字符串,格式为"aa=bb,cc=dd",有多个,用","隔开
* @return string $url 替换后的URL
*/
class url
{
static function replace ( $url , $options)
{
$options = self::optInit( $options );
$Query = parse_url( $url , PHP_URL_QUERY );
if($Query){
parse_str( $Query , $GET );
if ( $GET ){
//foreach ( $GET as $_k => $_v ){
// //if( array_key_exists( $_k , $options)){
// $GET[$_k] = $options[$_k];
// /





转载于:https://www.cnblogs.com/lxu220/archive/2012/03/07/2382849.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值