Codeigniter加载自定义上传配置

时间:2013-04-22 14:36:43

标签: php codeigniter codeigniter-2

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

好的,我的配置如下所示:

的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')的重新定义;

这不可能吗?

3 个答案:

答案 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有关。 在保留默认的上传设置的同时,您可以更改其他设置。

更多信息; Codeigniter File Upload Initialize