在CodeIgniter中,/public/index.php
中有可用的已定义的文件路径常量。
有以下可用的常量:
-
BASEPATH
返回C:/wamp/www/testci2_2.dev/system/
-
SYSDIR
返回system
SELF
返回index.php
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'
之前使用pathinfo
从FCPATH
中提取目录名
$path = pathinfo(FCPATH, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . 'sql' . DIRECTORY_SEPARATOR;
echo $path; // C:'wamp'www'testci2_2.dev'sql'