PHP中获取当前页面的完整URL
#测试网址: http://localhost/blog/testurl.php?id=5
//获取域名或主机地址
echo $_SERVER['HTTP_HOST']."<br>"; #localhost
//获取网页地址
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php
//获取网址参数
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5
//获取用户代理
echo $_SERVER['HTTP_REFERER']."<br>";
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=5
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
#http://localhost:80/blog/testurl.php?id=5
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
#http://localhost/blog
Yii url
<?php //当前域名 echo Yii::app()->request->hostInfo; //除域名外的URL echo Yii::app()->request->getUrl(); //除域名外的首页地址 echo Yii::app()->user->returnUrl; //除域名外的根目录地址 echo Yii::app()->homeUrl; ?>
假设我们当前页面的访问地址是:http://localhost/CMS/public/index.php?r=news&id=1
一、
1、获取当前域名:echo Yii::app()->request->hostInfo;
结果:http://localhost
2、获取(除域名外的)当前URL: echo Yii::app()->request->getUrl();
结果:/CMS/public/index.php?r=news&id=1
3、获取(除域名外的)首页地址: echo Yii::app()->user->returnUrl;
结果:/CMS/public/index.php
4、获取(除域名外的)根目录地址:echo Yii::app()->homeUrl;
结果:/CMS/public/index.php
5、echo Yii::app()->request->baseUrl;
结果:/CMS/public
6、获取网站根目录相对地址:echo Yii::app()->baseUrl;
结果:/CMS/public (注意:如果直接用这种方法指向网站根目录,请最好在其后面添加一个“/”,因为有时如果不添加“/”,有可能不能正确指向网站根目录。应用举例:<a href="<?php echo Yii::app()->baseUrl ;?>/">Home</a> )
二、
7、YII获取 IP地址:Yii::app()->request->userHostAddress;
8、Yii判断提交方式:Yii::app()->request-isPostRequest;
9、proteced目录的物理路径:Yii::app()->basePath;
10、获取上一页的url以返回:Yii::app()->request->urlReferrer;
11、获取当前控制器ID:Yii::app()->getController()->getAction()->id;
12、项目路径:dirname(Yii::app()->BasePath);
13、Yii获取get,post过来的数据:Yii::app()->request->getParam('id');
三、
14、Yii如何设置时区:
可以在config/main.php里'timeZone'=>'Asia/Chongqing',设定时区
15、防止重复提交:Ccontroler->refresh();