定义和用法
dirname() 函数返回路径中的目录部分。
语法
dirname(path)参数 描述
path 必需。规定要检查的路径。
说明
path 参数是一个包含有指向一个文件的全路径的字符串。该函数返回去掉文件名后的目录名。
例子
<?php
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
?>
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
?>
输出:
c:/testweb
/testweb
/testweb
php中定义了一个很有用的常数,即
__FILE__
这个内定常数是当前php程序的就是完整路径(路径+文件名)。
即使这个文件被其他文件引用(include或require),__FILE__始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。
请看下面例子:
/home/data/demo/test/a.php
<?php
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
?>
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
?>
home/data/demo/b.php
<?php
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
?>
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
?>
简单地说:
__FILE__ 返回当前 路径+文件名
dirname(__FILE__) 返回当前文件路径的 路径部分
dirname(dirname(__FILE__));得到的是文件上一层目录名(不含最后一个“/”号)
例如,当前文件是 /home/data/demo/test.php ,则
__FILE__ 得到的就是完整路径 即 /home/data/demo/test.php ,而
dirname(__FILE__)得到路径部分 即 /home/data/demo (后面没有“/”号)