如何在php中运行脚本的目录中只获取父文件夹的名称?

时间:2012-01-23 23:44:52

标签: php

我想获取目录中当前正在运行脚本的父文件夹的名称?

如果我们有一个名为foo.php的脚本,其路径为“/Users/Somone/Sites/public/foo.php”,那么我怎样才能从该文件路径中获取“公开”而不是整个目录树?

任何帮助都会很棒。

感谢。

6 个答案:

答案 0 :(得分:17)

最简单的方法:

basename(__DIR__);

正如@mario sagely所指出的那样,这只适用于PHP 5.3+,所以如果你遇到5.2或更低......那么......你应该切换到新主机并停止使用传统软件。

答案 1 :(得分:4)

echo basename(__DIR__);

修改__DIR__似乎不包含尾随目录分隔符,因此无需调用substr()

答案 2 :(得分:1)

这对我有用:

trim(strrchr(__DIR__, DIRECTORY_SEPARATOR), DIRECTORY_SEPARATOR);

答案 3 :(得分:1)

    //on windows server
$cur_dir = explode('\\', getcwd());
$sector=$cur_dir[count($cur_dir)-2];
echo $sector;
   //on linux server
$cur_dir = explode('/', getcwd());
$sector=$cur_dir[count($cur_dir)-2];
echo $sector;

根据需要更改父目录:-2,-3,-4

答案 4 :(得分:0)

如果您将脚本文件(作为文件的填充路径)作为dirname()的arg传入,它将返回父目录。 http://php.net/manual/en/function.dirname.php

一旦有了这个,将该字符串传递给strrchr以获取在最后一个斜杠之后直接出现的字符串 http://www.php.net/manual/en/function.strrchr.php

strrchr(dirname(__FILE__, '/')

答案 5 :(得分:0)

substr(__DIR__, strrpos(__DIR__, '/')+1);