如何在Codeigniter中更改配置文件路径?

时间:2011-08-20 06:46:58

标签: codeigniter

我使用Codeigniter框架,你知道我何时尝试加载配置文件然后使用它

我这样做:

$this->load->config('myconfig', TRUE); 

myconfig.php文件位于应用程序文件夹(application / config / myconfig.php)

并像这样使用它:

 $this->config->item('get_item', 'myconfig')

我的问题是:如何更改myconfig文件的位置并正确使用?

我想将配置文件放在out文件夹中,如下所示:

  • mysite - >系统(文件夹)
  • mysite - > user_guide(文件夹)
  • mysite - > myConfigFiles(文件夹)
  • mysite - > myConfigFiles(文件夹)/ myconfig.php

我需要做这样的事情:

$this->load->config(base_url.'myConfigFiles/myconfig', TRUE); 

任何帮助?

2 个答案:

答案 0 :(得分:6)

是的 - 可以这样做。加载程序将接受../../relative/paths。您可以使用默认配置目录中的相对路径(绝对路径不起作用)。

所以,假设你有这种结构(很难按照你的描述):

  
      
  • mysite的      
        
    • 应用      
          
      • config< - 默认目录
      •   
    •   
    • 系统
    •   
    • myConfigFiles      
          
      • myconfig.php
      •   
    •   
  •   

你可以这样做:

$this->load->config('../../myConfigFiles/myconfig', TRUE);

这适用于几乎所有内容 - 视图,库,模型等。


请注意,在版本2.0.1中引入the ENVIRONMENT constant后,您可以在另一个与当前环境名称匹配的目录中自动检查配置目录中的配置文件。这实际上是一种加载不同文件的便捷方法,具体取决于您是在生产还是开发中。我不是100%确定你的目标是什么,但这些额外的知识也可以帮助你实现它们,或者它可能完全无关紧要。

答案 1 :(得分:2)

真的不确定为什么你会这样做(我不推荐它),但由于所有配置文件都是常规的PHP文件,你可以将配置文件放在加载额外配置文件的标准位置。举个例子:

mysite -> application -> config -> myconfigloader.php

然后在myconfigloader.php中提出这个:

<?php

require_once(APPPATH.'../myConfigFiles/myconfig.php');

所以一旦你做了

$this->load->config('myconfigloader', TRUE); 

它将加载myconfig.php文件中的所有内容。如果这对您有用,请告诉我。