"; 获取网页地址 echo $_SERVER['PHP_SELF']; 获取网址参数 echo $_SERV..." />

PHP获取路径目录方法汇总

  • 发表于
  • PHP

PHP获取路径

获取域名或主机地址

echo $_SERVER['HTTP_HOST']."<br>";

获取网页地址

echo $_SERVER['PHP_SELF'];

获取网址参数

echo $_SERVER["QUERY_STRING"];

获取用户代理

echo $_SERVER['HTTP_REFERER'];

获取完整的url

echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];

包含端口号的完整url

echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];

只取路径

echo 'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."<br>"; 

应用案例,根据浏览器类型,自动切换

vendor('Func.Func');
if (!Func::isMobile()) { // 跳转到手机端
if ($_SERVER['QUERY_STRING']) {
header("location: /index.php".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']);
} else {
header("location: /index.php".$_SERVER['PHP_SELF']);
}
}

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>';