Класс загрузки файла CodeIgniter - Инициализация другого файла конфигурации

Так что я немного погуглил, похоже, не могу найти ответ.

Из того, что я понимаю, этот код: $this->upload->initialize() инициализирует класс загрузки файла CI, используя upload.php Конфигурационный файл Что я хочу сделать, это использовать другой файл.

Я старался $this->upload->initialize('upload_other'), но это не похоже на работу. Я знаю, что вы можете просто установить $config массив в контроллере, но я пытаюсь избежать этого.

Это возможно? Я подхожу к этому неправильно?

2 ответа

Решение

Вы не можете инициализировать / переопределять такие конфигурации.

Вы можете инициализировать с помощью

$this->config->load('upload');
-- Some code Here -- 

$this->config->load('upload_other');
-- Some code Here -- 

ИЛИ вы можете сделать это массивом следующим образом.

$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';

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

// Alternately you can set preferences by calling the initialize function. Useful if you auto-load the class:
$this->upload->initialize($config);

Если вы хотите одновременно загружать другие файлы, вы можете изменить свой конфигурационный массив.

$config2['upload_path'] = './uploads/small/';
$config2['allowed_types'] = 'gif|jpg|png';
$config2['max_size'] = '100';
$config2['max_width'] = '100';
$config2['max_height'] = '100';

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

// Alternately you can set
$this->upload->initialize($config2);

ОБНОВИТЬ

Вы можете указать свои общие данные в конфигурационном файле. сказать

config['width'] = '100';

config['width2'] = '100';

Теперь используйте в вашем контроллере как

config['width'] = $this->config->item('width');

config2['width'] = $this->config->item('width2');

Таким образом, вы можете повторно использовать те же настройки.

Почему вы пытаетесь избежать использования массива config? Другой способ - создать файл upload.php-config. Если вы хотите использовать разные конфигурации на разных контроллерах, вы всегда можете создать и загрузить полный пользовательский файл конфигурации: Codeigniter userguide Здесь вы можете создать несколько переменных с разными массивами upload-config.

Вы можете загрузить этот файл конфигурации в каждый контроллер и использовать эти конфигурации, используя метод initialize.

Другие вопросы по тегам