在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方法,所以当有一天我决定将控制器移动到子文件夹中时,它们不会从指定文件夹中松开轨道?
答案 0 :(得分:1)
您需要使用pathinfo
从FCPATH
\public\
中提取目录名称
$path = pathinfo(FCPATH, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . 'sql' . DIRECTORY_SEPARATOR;
echo $path; // C:\wamp\www\testci2_2.dev\sql\