Codeigniter load custom upload config

2019-08-28 03:04发布

问题:

I have a small problem. I have a custom configuration file for uploading. I want to load the settings without redefining them.

Okay, my configuration look like this:

config.php

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

Controller

// 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/');
}

I want to bypass the redefinition of $config['test] = $this->config->item('test');

Is this impossible?

回答1:

I am not sure if I am missing something, but simply do not put the lines in your controller. This will effectively not redeclare it?



回答2:

http://ellislab.com/codeigniter/user-guide/libraries/config.html describes how to load custom config items. I would recommend creating a custom config file as the CI website suggests and just loading that custom config file where you want.

So you'd have something like $this->config->load('custom_upload_settings', FALSE, TRUE); and in that file you'd have the settings you'd want to override.

// Loads a config file named custom_upload_settings.php and assigns it to an index named "blog_settings" $this->config->load('custom_upload_settings', TRUE);

// Retrieve a config item named site_name contained within the custom_upload_settings array $site_name = $this->config->item('site_name', 'custom_upload_settings');