PHP获取当前页面URL路径

#测试网址:     http://localhost/blog/testurl.php?id=5
 
//获取域名或主机地址 
echo $_SERVER['HTTP_HOST'].""; #localhost
 
//获取网页地址 
echo $_SERVER['PHP_SELF'].""; #/blog/testurl.php
 
//获取网址参数 
echo $_SERVER["QUERY_STRING"].""; #id=5
 
//获取用户代理 
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/blog/testurl.php?id=5
 
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
#http://localhost:80/blog/testurl.php?id=5
 
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; 
echo dirname($url);
#http://localhost/blog

PHP获取当前文件的绝对路径

<?php 
  echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php 
  echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ 
  echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\ 
?> 

使用方法提示

dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。

如果重复一次可以把目录往上提升一个层次:

比如:$d = dirname(dirname(__FILE__));

其实就是把一个目录给 dirname() 做参数了,因为 dirname() 返回最后的目录不带\\或者是/ ,所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了,照常返回当前目录的上级目录,这样重复就得到了它的上一级的目录。

包含得到上一级目录的文件

include(dirname(__FILE__).'/../filename.php');

__FILE__的路径是当前代码所在文件

dirname(dirname(__FILE__));

得到的是文件上一层目录名

dirname(__FILE__);

得到的是文件所在层目录名

  

  

posted @ 2021-11-18 21:35  幻月无名  阅读(1417)  评论(0编辑  收藏  举报