php获取路径
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 //包括port号的完整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__);得到的是文件所在层文件夹名