今天给各位分享php 当前域名的知识,其中也会对php如何获取当前页面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如何获取当前页面url路径利用PHP实现
http://localhost/PHP/XX.php?id=5
1、//获取域名或主机地址
echo$_SERVER[HTTP_HOST];#localhost
2、//获取网页地址
echo$_SERVER[PHP_SELF];#/PHP/XX.php
3、//获取网址参数
echo$_SERVER["QUERY_STRING"];#id=5
4、//获取用户代理
echo$_SERVER[HTTP_REFERER];
5、//获取完整的url
echohttp://.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];
echohttp://.$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF].?.$_SERVER[QUERY_STRING];
#http://localhost/PHP/XX.php?id=5
扩展资料
PHP的特性包括:
1. PHP独特的语法混合了 C、Java、Perl以及 PHP自创新的语法。
2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
3. PHP支持几乎所有流行的数据库以及操作系统。
参考资料来源:脚本之家:PHP获取当前页面完整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”);
?>
关于php 当前域名和php如何获取当前页面url路径的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。