大家好,今天小编来为大家解答以下的问题,关于php 获取当前域名,yii如何获取当前url和域名这个很多人还不知道,现在让我们一起来看看吧!
php怎么获取域名之后的url1,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI
3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径
4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名
实例:
1,http://www.biuuu.com/(直接打开主页)
结果:
$_SERVER["QUERY_STRING"]=""
$_SERVER["REQUEST_URI"]="/"
$_SERVER["SCRIPT_NAME"]="/index.php"
$_SERVER["PHP_SELF"]="/index.php"
2,http://www.biuuu.com/?p=222(附带查询)
结果:
$_SERVER["QUERY_STRING"]="p=222"
$_SERVER["REQUEST_URI"]="/?p=222"
$_SERVER["SCRIPT_NAME"]="/index.php"
$_SERVER["PHP_SELF"]="/index.php"
3,http://www.biuuu.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"]="p=222&q=biuuu"
$_SERVER["REQUEST_URI"]="/index.php?p=222&q=biuuu"
$_SERVER["SCRIPT_NAME"]="/index.php"
$_SERVER["PHP_SELF"]="/index.php"
$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"]获取http://www.biuuu.com后面的值,包括/
$_SERVER["SCRIPT_NAME"]获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"]当前正在执行脚本的文件名
当前url:"http://".$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF]
总结一下,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。
$_SERVER["REQUEST_URI"]:获取当前请求的完整的(除域名的)url。。。
uchome系统中处理技巧:
代码
//处理REQUEST_URI
if(!isset($_SERVER[REQUEST_URI])){
$_SERVER[REQUEST_URI]=$_SERVER[PHP_SELF];
if(isset($_SERVER[QUERY_STRING]))$_SERVER[REQUEST_URI].=?.$_SERVER[QUERY_STRING];
}
if($_SERVER[REQUEST_URI]){
$temp= urldecode($_SERVER[REQUEST_URI]);
if(strexists($temp,<)|| strexists($temp,")){
$_GET= shtmlspecialchars($_GET);//XSS
}
}
代码如下:
代码
<?php
echo$_SERVER[DOCUMENT_ROOT]."<br>";//获得服务器文档根变量
echo$_SERVER[PHP_SELF]."<br>";//获得执行该代码的文件服务器绝对路径的变量
echo __FILE__."<br>";//获得文件的文件系统绝对路径的变量
echo dirname(__FILE__);//获得文件所在的文件夹路径的函数
?>
//server函数
$_SERVER["HTTP_REFERER"]=http://localhost/lianxi/
$_SERVER["HTTP_ACCEPT_LANGUAGE"]=zh-cn
$_SERVER["HTTP_ACCEPT_ENCODING"]=gzip, deflate
$_SERVER["HTTP_USER_AGENT"]=Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.2;.NET CLR 1.1.4322;.NET CLR 2.0.50727)
$_SERVER["HTTP_HOST"]=localhost
$_SERVER["HTTP_CONNECTION"]=Keep-Alive
$_SERVER["PATH"]=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\MySQL\MySQL Server 5.0\bin;C:\php;C:\php\ext
$_SERVER["SystemRoot"]=C:\WINDOWS
$_SERVER["COMSPEC"]=C:\WINDOWS\system32\cmd.exe
$_SERVER["PATHEXT"]=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
$_SERVER["WINDIR"]=C:\WINDOWS
$_SERVER["SERVER_SIGNATURE"]=
Apache/2.0.55(Win32) PHP/5.1.1 Server at localhost Port 80\\使用的何服务器
$_SERVER["SERVER_SOFTWARE"]=Apache/2.0.55(Win32) PHP/5.1.1
$_SERVER["SERVER_NAME"]=localhost\\服务器名称
$_SERVER["SERVER_ADDR"]=127.0.0.1
$_SERVER["SERVER_PORT"]=80\\服务器端口
$_SERVER["REMOTE_ADDR"]=127.0.0.1
$_SERVER["DOCUMENT_ROOT"]=D:/lianxi\\网站的主目录
$_SERVER["SERVER_ADMIN"]=sss@163.com\\安装APACHE时设置的邮箱
$_SERVER["SCRIPT_FILENAME"]=D:/lianxi/lianxi/servervalues.php\\当前的网页的绝对路径,
$_SERVER["REMOTE_PORT"]=1076\\远程端口
$_SERVER["GATEWAY_INTERFACE"]=CGI/1.1
$_SERVER["SERVER_PROTOCOL"]=HTTP/1.1
$_SERVER["REQUEST_METHOD"]=GET
$_SERVER["QUERY_STRING"]=\\获取?号后面的内容
$_SERVER["REQUEST_URI"]=例子:/lianxi/servervalues.php?a=1&b=2
$_SERVER["SCRIPT_NAME"]=例子:/lianxi/servervalues.php
$_SERVER["PHP_SELF"]=/lianxi/servervalues.php\\返回当前网页的相对路径.
$_SERVER["REQUEST_TIME"]=1179190013\\运行时间单位为十万分之一毫秒
$_SERVER["argv"]=Array
$_SERVER["argc"]=0
1,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI
3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径
4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名
实例:
1,http://www.biuuu.com/(直接打开主页)
结果:
$_SERVER["QUERY_STRING"]=“”
$_SERVER["REQUEST_URI"]=“/”
$_SERVER["SCRIPT_NAME"]=“/index.php”
$_SERVER["PHP_SELF"]=“/index.php”
2,http://www.biuuu.com/?p=222(附带查询)
结果:
$_SERVER["QUERY_STRING"]=“p=222″
$_SERVER["REQUEST_URI"]=“/?p=222″
$_SERVER["SCRIPT_NAME"]=“/index.php”
$_SERVER["PHP_SELF"]=“/index.php”
3,http://www.biuuu.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"]=“p=222&q=biuuu”
$_SERVER["REQUEST_URI"]=“/index.php?p=222&q=biuuu”
$_SERVER["SCRIPT_NAME"]=“/index.php”
$_SERVER["PHP_SELF"]=“/index.php”
$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"]获取http://www.biuuu.com后面的值,包括/
$_SERVER["SCRIPT_NAME"]获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"]当前正在执行脚本的文件名
代码
<?php
/**
__FILE__,
getcwd(),
$_SERVER["REQUEST_URI"],
$_SERVER["SCRIPT_NAME"],
$_SERVER["PHP_SELF"],
$_SERVER["SCRIPT_FILENAME"],
来观察一下这些变量或函数的异同.
假设有一个请求地址为: http://localhost:8080/test.php/age=20
而test.php的完整路径是: D:/server/www/example/test.php
1) getcwd()
将得到浏览器请求的页面文件所在的目录.即test.php文件所在的目录: D:/server/www/example/,
如果在test.php执行了 require或 include语句,比如 inculde(”test_dir/test2.php”),
那么在 test2.php里 getcwd()函数返回的也将是 test.php所在的目录.
2) __FILE__
一个魔术变量,用它将得到 __FILE__变量所在文件的完整路径,
比如: test.php里 __FILE__将得到 D:/server/www/example/test.php,
test_dir/test2.php里的 __FILE__将得到 D:/server/www/example/test_dir/test2.php
3)$_SERVER["SCRIPT_FILENAME"]
将得到浏览器请求的页面文件的完整路径.
test.php和 test_dir/test2.php里用$_SERVER["SCRIPT_NAME"]都将得到 D:/server/www/example/test.php.
4)$_SERVER["SCRIPT_NAME"]
将得到浏览器请求的页面文件的文件名,注意:与$_SERVER["SCRIPT_NAME"]不同,此变量只得到文件名而不包含路径,
在test.php与 test_dir/test2.php用$_SERVER["SCRIPT_NAME"]得到的都将是 test.php.
当然,在test.php与 test_dir/test2.php执行 basename($_SERVER["SCRIPT_FILENAME"])与$_SERVER["SCRIPT_NAME"]相同.
执行在test.php与 test_dir/test2.php执行 realpath(”test.php”)得到的结果与$_SERVER["SCRIPT_FILENAME"]相同.
5)$_SERVER["PHP_SELF"]
将得到浏览器请求页面的文件名,并剥掉问号?后的内容,注意:不包含路径,
比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
那么test.php和 test_dir/test2.php的$_SERVER["PHP_SELF"]都将得到“test.php”。“age=20&name=Tom”被剥掉。
而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
那么test.php和 test_dir/test2.php的$_SERVER["PHP_SELF"]都将得到“test.php/age=20&name=Tom”。
6)$_SERVER["REQUEST_URI"]
将得到浏览器请求页面的文件名,以及文件名之后的所有内容(注意:井号#之后的内容将被略去),
比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
那么test.php和 test_dir/test2.php的$_SERVER["REUEST_URI"]都将得到“test.php”。“age=20&name=Tom”被剥掉。
而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
那么test.php和 test_dir/test2.php的$_SERVER["REQUEST_URI"]都将得到“test.php/age=20&name=Tom”。
*/
// test.php:
echo“test1.php variables<br/>”;
echo“getcwd:“, getcwd(),“<br/>”;
echo“__FILE__:“, __FILE__,“<br/>”;
echo“REQUEST_URI:“,$_SERVER["REQUEST_URI"],“<br/>”;
echo“SCRIPT_NAME:“,$_SERVER["SCRIPT_NAME"],“<br/>”;
echo“PHP_SELF:“,$_SERVER["PHP_SELF"],“<br/>”;
echo“SCRIPT_FILENAME“,$_SERVER["SCRIPT_FILENAME"],“<br/>”;
//把 test2.php包含进来,在 test2.php里输出上面的变量,看有什么不同:
include_once(”test2/test2.php”);
?>
如何用js获取当前url的参数值给你个例子,自己对照看看。<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN"" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>javascript获取URL参数和参数值</title>
<script type="text/javascript">
<!--
var url=" http://www.baidu.com/?age=25&k=1&site=asp&abc=123;"//javascript获取指定参数及其对应的值
function getParameter(paraStr, url)
{
var result="";
//获取URL中全部参数列表数据
var str="&"+ url.split("?")[1];
var paraName= paraStr+"=";
//判断要获取的参数是否存在
if(str.indexOf("&"+paraName)!=-1)
{
//如果要获取的参数到结尾是否还包含“&”
if(str.substring(str.indexOf(paraName),str.length).indexOf("&")!=-1)
{
//得到要获取的参数到结尾的字符串
var TmpStr=str.substring(str.indexOf(paraName),str.length);
//截取从参数开始到最近的“&”出现位置间的字符
result=TmpStr.substr(TmpStr.indexOf(paraName),TmpStr.indexOf("&")-TmpStr.indexOf(paraName));
}
else
{
result=str.substring(str.indexOf(paraName),str.length);
}
}
else
{
result="无此参数";
}
return(result.replace("&",""));
}//调用方法:var变量名= getParameter("要获取的参数名", URL地址)
var r= getParameter("age",url);//测试输出,结果是:site=popasp
alert(r);
//根据得到的结果可以使用
var pName= r.split("=")[0];//获取参数名
var pValue= r.split("=")[1];//获取参数值//测试输出:
alert("参数名:"+ pName+"\n\n"+"参数值:"+ pValue);//其他实际应用:
//可以根据需要,配合以下方法实现自己要实现的功能;
//var hostname= location.hostname;//获取当前域名(不包含http://)
//var localurl= location.href;//获取当前完整的URL地址信息(包含http://,域名,路径,具体文件和全部传递参数)
//var referurl= document.referrer;//获取上一页完整的URL信息(包含http://,域名,路径,具体文件和全部传递参数)//-->
</script>
</head><body>
</body>
</html>
yii如何获取当前url和域名假设我们当前页面的访问地址是:
http://localhost/CMS/public/index.php?r=news&id=1(推荐教程:yii)
一、
1、获取当前域名:
echo Yii::app()->request->hostInfo;结果:
http://localhost2、获取(除域名外的)当前URL:
echo Yii::app()->request->getUrl();结果:
/CMS/public/index.php?r=news&id=13、获取(除域名外的)首页地址:
echo Yii::app()->user->returnUrl;结果:
/CMS/public/index.php4、获取(除域名外的)根目录地址:
echo Yii::app()->homeUrl;结果:
/CMS/public/index.php5、
echo Yii::app()->request->baseUrl;结果:
/CMS/public6、获取网站根目录相对地址:
echo Yii::app()->baseUrl;结果:
/CMS/public(注意:如果直接用这种方法指向网站根目录,请最好在其后面添加一个“/”,因为有时如果不添加“/”,有可能不能正确指向网站根目录。应用举例:<a rel="external nofollow" 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();
php 获取当前域名的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于yii如何获取当前url和域名、php 获取当前域名的信息别忘了在本站进行查找哦。
本文链接:https://aiming.cc/index.php/post/839.html 转载需授权!