выгрузить код - PullRequest
       5

выгрузить код

0 голосов
/ 08 октября 2010

Как указать более одной конфигурации в config / upload.php?

Ответы [ 2 ]

4 голосов
/ 08 октября 2010

Я думаю, что это невозможно сделать, руководство говорит:

Настройка параметров в файле конфигурации

Если вы предпочитаете не устанавливатьпредпочтения, используя вышеуказанный метод, вы можете вместо этого поместить их в файл конфигурации.Просто создайте новый файл с именем upload.php, добавьте массив $ config в этот файл.Затем сохраните файл в: config / upload.php, и он будет использован автоматически.Вам НЕ нужно будет использовать функцию $ this-> upload-> initialize, если вы сохраните свои настройки в файле конфигурации.

Итак, вы добавляете в массив $ config () без ключадля автоматической инициализации.Вероятно, будет лучше создать конфигурационный файл и загрузить его с параметрами конфигурации, такими как:

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

И загрузить позже в ваш контроллер с помощью:

$this->load->config('upload_vals', TRUE);

$upload_vals = $this->config->item('upload_1');

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

Желаю, чтобы это помогло!

0 голосов
/ 03 сентября 2014

Вот другой способ.

application/config/upload.php

<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

$config = array(
    'member_photo' => array(
        'upload_path'   => './uploads/member_photos/',
        'allowed_types' => 'gif|jpeg|jpg|png',
        'max_size'      => '0',
        'max_width'     => '0',
        'max_height'    => '0',
        'encrypt_name'  => true
    ),
    'pet_photo' => array(
        'upload_path'   => './uploads/pet_photos/',
        'allowed_types' => 'gif|jpeg|jpg|png',
        'max_size'      => '0',
        'max_width'     => '0',
        'max_height'    => '0',
        'encrypt_name'  => true
    ),
);

application/libraries/MY_Upload.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class MY_Upload extends CI_Upload
{

    function initialize($config = array())
    {
        // load config
        if(!empty($config['config']))
        {
            $CI =& get_instance();
            $CI->load->config('upload');
            $autoload_config = $CI->config->item($config['config']);

            if($autoload_config)
            {
                foreach($autoload_config as $key => $val)
                {
                    if(empty($config[$key]))
                    {
                        $config[$key] = $val;
                    }
                }
            }

            unset($config['config']);
        }

        parent::initialize($config);
    }

}

Тогда в вашем контроллере;любые дополнительные ключи, которые вы определяете, переопределяют их в файле конфигурации:

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

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