我有以下目录结构。
-webshop
-controllers
-webshop.php
在webshop.php中我想获得这个文件的祖父母的网上商店。
如果我使用以下内容,我想我会得到'控制器'。
echo basename(dirname(__FILE__)); // this will get controllers
如何获取祖父母目录?
提前致谢。
答案 0 :(得分:5)
dirname也适用于目录,因此您可以获取父级的父级,然后使用basename获取基础
basename(dirname(dirname(__FILE__)));
并测试输出
foo@bar: /tmp/a/b/c > pwd
/tmp/a/b/c
foo@bar: /tmp/a/b/c > cat test.php
<?php
echo basename(dirname(dirname(__FILE__)));
foo@bar: /tmp/a/b/c > php test.php
b
答案 1 :(得分:1)
这也可以通过以下方式完成:
echo basename(dirname(__DIR__, 2));
注意:这只能在PHP&gt; = 7.0中使用
要上升的目录级别的数字计数是dirname
的附加功能,这是PHP 7中的新功能.PHP5没有实现这样的功能。
答案 2 :(得分:0)
echo basename(dirname(__FILE__) . '/../..');
答案 3 :(得分:0)
echo basename(__DIR__. "/../..");
如果我没记错的话。
PHP文档:
__DIR__
文件的目录。如果在include中使用,则返回包含文件的目录。这相当于dirname(__FILE__)
。除非它是根目录,否则此目录名称没有尾部斜杠。 (在PHP 5.3.0中添加。)