我想获取目录中当前正在运行脚本的父文件夹的名称?
如果我们有一个名为foo.php的脚本,其路径为“/Users/Somone/Sites/public/foo.php”,那么我怎样才能从该文件路径中获取“公开”而不是整个目录树?
任何帮助都会很棒。
感谢。
答案 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);