Класс загрузки файла CodeIgniter - Инициализация другого файла конфигурации - PullRequest
2 голосов
/ 09 ноября 2011

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

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

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

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

Ответы [ 2 ]

7 голосов
/ 09 ноября 2011

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

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

$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');

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

0 голосов
/ 09 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...