如何选择相对于所提供路径的第二个父文件夹


How to select 2nd parent folder relative to the provided path?

在CodeIgniter中,/public/index.php中有可用的已定义的文件路径常量。

有以下可用的常量:

  • BASEPATH返回C:/wamp/www/testci2_2.dev/system/
  • SELF返回index.php
  • SYSDIR返回system
  • FCPATH返回C:'wamp'www'testci2_2.dev'public'

function backup()方法中的控制器/application/controllers/configurations.php中,我想使备份文件直接写入位于这里的/sql/文件夹:C:'wamp'www'testci2_2.dev'sql'

我试图使用var_dump(dirname(BASEPATH) . '/sql/');产生我想要的东西,但我不太确定这是否是最好的方法,也许有更聪明的步骤来获得那条路径?

如何使用这些常量来定位该文件夹?
如果这是不可能的,有没有其他聪明的方法,所以当有一天我决定移动控制器到子文件夹或左右,他们不会从指定的文件夹丢失轨道?

您需要在'public'之前使用pathinfoFCPATH中提取目录名

$path = pathinfo(FCPATH, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . 'sql' . DIRECTORY_SEPARATOR;
echo $path; // C:'wamp'www'testci2_2.dev'sql'