Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter上载配置_Php_Codeigniter - Fatal编程技术网

Php codeigniter上载配置

Php codeigniter上载配置,php,codeigniter,Php,Codeigniter,如何在config/upload.php中指定多个配置?我认为这是不可能的,手册上说: 在配置文件中设置首选项 如果您不想设置首选项 使用上述方法,您可以 而是将它们放入一个配置文件中。 只需创建一个名为 upload.php,在中添加$config数组 那个档案。然后将文件保存到: config/upload.php,并将使用它 自动地你不需要这样做 使用$this->upload->initialize命令 如果您保存了首选项,则函数 在配置文件中 因此,您将添加到$config array

如何在config/upload.php中指定多个配置?

我认为这是不可能的,手册上说:

在配置文件中设置首选项

如果您不想设置首选项 使用上述方法,您可以 而是将它们放入一个配置文件中。 只需创建一个名为 upload.php,在中添加$config数组 那个档案。然后将文件保存到: config/upload.php,并将使用它 自动地你不需要这样做 使用$this->upload->initialize命令 如果您保存了首选项,则函数 在配置文件中

因此,您将添加到$config array(),而无需任何自动初始化键。最好创建一个配置文件,并使用您的配置参数加载它,如:

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

希望它有帮助

我认为这是不可能的,手册上说:

在配置文件中设置首选项

如果您不想设置首选项 使用上述方法,您可以 而是将它们放入一个配置文件中。 只需创建一个名为 upload.php,在中添加$config数组 那个档案。然后将文件保存到: config/upload.php,并将使用它 自动地你不需要这样做 使用$this->upload->initialize命令 如果您保存了首选项,则函数 在配置文件中

因此,您将添加到$config array(),而无需任何自动初始化键。最好创建一个配置文件,并使用您的配置参数加载它,如:

$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);
希望它有帮助

还有另一种方法

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
    ),
);
<?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')

还有另一种方法

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
    ),
);
<?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')