如何用PHP获取祖父目录

时间:2011-03-24 21:24:57

标签: php

我有以下目录结构。

-webshop
   -controllers
      -webshop.php

在webshop.php中我想获得这个文件的祖父母的网上商店。

如果我使用以下内容,我想我会得到'控制器'。

echo basename(dirname(__FILE__)); // this will get controllers

如何获取祖父母目录?

提前致谢。

4 个答案:

答案 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没有实现这样的功能。

http://php.net/manual/en/function.dirname.php

答案 2 :(得分:0)

echo basename(dirname(__FILE__) . '/../..');

答案 3 :(得分:0)

echo basename(__DIR__. "/../..");如果我没记错的话。

PHP文档:

  

__DIR__文件的目录。如果在include中使用,则返回包含文件的目录。这相当于dirname(__FILE__)。除非它是根目录,否则此目录名称没有尾部斜杠。 (在PHP 5.3.0中添加。)