2013-04-22 70 views
0

我有一个小问题。我有一个用于上传的自定义配置文件。我想加载设置而不用重新定义它们。Codeigniter加载自定义上传配置

好了,我的配置是这样的:

的config.php

$config['upload_path'] = 'tmp/'; 
$config['allowed_types'] = 'zip'; 
$config['file_name'] = ''; 
$config['max_size'] = ''; 
$config['encrypt_name'] = false; 
$config['remove_spaces'] = true; 

控制器

// Here is my problem $config[] 
// How to load settings from config.php without again defining $config array 

$config['upload_path'] = $this->config->item('upload_path'); 
$config['allowed_types'] = $this->config->item('allowed_types'); 
$config['file_name'] =  $this->config->item('file_name'); 
$config['max_size'] =  $this->config->item('max_size'); 
$config['encrypt_name'] = $this->config->item('encrypt_name'); 
$config['remove_spaces'] = $this->config->item('remove_spaces'); 

$this->load->library('upload',$config); 

if(!$this->upload->do_upload()) 
{ 
    $this->session->set_flashdata('error', $this->upload->display_errors()); 
    redirect('extension/'); 
} 

我想绕过$配置的重新定义['测试] = $ this-> config-> item('test');

这是不可能的吗?

回答

0

我不确定如果我错过了某些东西,但根本不要将这些行放入控制器中。这实际上不会重新声明它?

+0

又如何从$ this-> load-> library('upload',WHAT NOW HERE)中的配置加载声明; – Ivan 2013-04-22 14:48:41

+0

您只需调用配置文件upload.php并将其放入您的配置文件夹。上传类将自动加载在这个自定义文件中声明的配置项。无需初始化它。看到这里:http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html,搜索“在配置文件中设置首选项” – 2013-04-22 15:02:28

+0

是的,但在设置首选项中,他定义$ config数组在一个文件中。但我的配置数据存储在其他文件/config/upload.php我试着说你不工作 – Ivan 2013-04-22 15:10:37

0

http://ellislab.com/codeigniter/user-guide/libraries/config.html描述如何加载自定义配置项目。我会建议创建一个自定义配置文件作为CI网站建议,并只加载该自定义配置文件,你想要的。

所以你应该有类似$this->config->load('custom_upload_settings', FALSE, TRUE);的东西,并且在那个文件中你有你想要覆盖的设置。

//加载一个名为custom_upload_settings.php配置文件,并将其分配给名为索引“blog_settings” $this->config->load('custom_upload_settings', TRUE);

//检索包含custom_upload_settings阵列内的配置项名为SITE_NAME $site_name = $this->config->item('site_name', 'custom_upload_settings');

+0

男人我在我的建设者,我不把所有的代码bcs是大。 // Load config $ this-> load-> config('extension',FALSE,TRUE); – Ivan 2013-04-22 14:52:55

+0

我不知道你的意思? '$ this-> config-> load('custom_upload_settings',FALSE,TRUE);'会加载一个你需要创建的新文件(所以它应该是空的,直到你添加了'set_item()'行)。 – Justin 2013-04-22 14:55:57

+0

是啊,你不知道我的意思。我的问题是不是在配置和加载配置...我的问题是上传库如何从我的自定义配置捕捉设置,而无需再次定义。 – Ivan 2013-04-22 15:05:47

相关问题