我有一个小问题。我有一个用于上传的自定义配置文件。我想加载设置而不重新定义它们。
好的,我的配置如下所示:
的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/');
}
我想绕过$ config ['test] = $ this-> config-> item('test')的重新定义;
这不可能吗?
答案 0 :(得分:0)
我不确定我是否遗漏了某些东西,但根本就是不把这些线放在你的控制器中。这实际上不会重新声明它吗?
答案 1 :(得分: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');
答案 2 :(得分:0)
是的,Codeigniter支持自定义上传配置。 您可以设置config / upload.php初始设置。
另一个控制器;
$config['upload_path'] = FCPATH . 'assets/uploads/articles'; // change custom config
$this->upload->initialize($config, FALSE);
最重要的初始化第二个参数是 FALSE 。该参数与RESET有关。 在保留默认的上传设置的同时,您可以更改其他设置。