获取页面URL的方法:
http://localhost/php/hs.php?id=6
//获取域名或主机地址
echo $_SERVER['HTTP_HOST'];
#localhost
//获取网页地址
echo $_SERVER['PHP_SELF'];
#/php/hs.php
//获取网址参数
echo $_SERVER["QUERY_STRING"];
#id=6
//获取用户代理
echo $_SERVER['HTTP_REFERER'];
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/php/hs.php?id=6
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
#http://localhost:80/php/hs.php?id=6
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
#http://localhost/php
其它,如果使用js,也可以实现
top.location.href 顶级窗口的地址
this.location.href 当前窗口的地址
获取文件所在路径的方法:
/**
* PHP获取路径或目录实现
*/
//魔术变量,获取当前文件的绝对路径
echo "__FILE__: ========> ".__FILE__;
echo '<br/>';
//魔术变量,获取当前脚本的目录
echo "__DIR__: ========> ".__DIR__;
echo '<br/>';
//dirname返回路径的目录部分,dirname(__FILE__)相当于__DIR__
echo "dirname(__FILE__): ========> ".dirname(__FILE__);
echo '<br/>';
//$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的结果一般相同,他们都是获取当前脚本的文件名
//只有当php以cgi方式运行时有区别,但是现在几乎找不到以cgi方式运行php了
echo '$_SERVER["PHP_SELF"]: ========> '.$_SERVER['PHP_SELF'];
echo '<br/>';
echo '$_SERVER["SCRIPT_NAME"]: ========> '.$_SERVER['SCRIPT_NAME'];
echo '<br/>';
//当前执行脚本的绝对路径。记住,在CLI方式运行php是获取不到的
echo '$_SERVER["SCRIPT_FILENAME"]: ========> '.$_SERVER['SCRIPT_FILENAME'];
echo '<br/>';
//当前运行脚本所在的文档根目录。在服务器配置文件中定义。
echo '$_SERVER["DOCUMENT_ROOT"]: ========> '.$_SERVER['DOCUMENT_ROOT'];
echo '<br>';
//getcwd()返回当前工作目录
echo "getcwd(): ========> ".getcwd();
echo '<br>';