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

时间:2014-05-09 12:18:18

标签: php codeigniter

在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\

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

我尝试使用产生我想要的var_dump(dirname(BASEPATH) . '/sql/');,但我不确定这是否是最好的方法,也许有更聪明的步骤来实现这条道路?

如何使用这些常量来定位该文件夹?
如果不可能,是否还有其他CLEVER方法,所以当有一天我决定将控制器移动到子文件夹中时,它们不会从指定文件夹中松开轨道?

1 个答案:

答案 0 :(得分:1)

您需要使用pathinfoFCPATH

之前的\public\中提取目录名称
$path = pathinfo(FCPATH, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . 'sql' . DIRECTORY_SEPARATOR;
echo $path; // C:\wamp\www\testci2_2.dev\sql\