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