在codeigniter中上传图片

时间:2015-07-30 07:52:39

标签: php codeigniter

我正在尝试使用以下代码上传图片: 控制器:

public function do_register()
    {
        $this->load->library('form_validation');

        $this->form_validation->set_rules('uname', 'Username', 'required|min_length[4]|max_length[15]');
        $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
        $this->form_validation->set_rules('pass', 'Password', 'required|min_length[4]');
        $this->form_validation->set_rules('address', 'Details', 'required|min_length[4]');
        if($this->form_validation->run() == FALSE)
        {
            $this->load->view('login_view');
        }
        else
        {
            $path = $_FILES['image']['name'];
            $imgext=strtolower(strrchr($path,'.'));
            $imgname= $this->generateRandomString().$imgext;
            if($path!='')
            {
                $im= $this->config->item('base_url').'/uploads'.'/'.$imgname;
                $x=$this->do_upload($imgname);
                $data['img']=$im;
            }

            $this->search_model->register_user($data['img']);
            $this->load->view('register_view'); 
        }
    }   
    function generateRandomString()
    {
        $characters = '0123456789abcdefghijklmnopqrstuvwxyz';
        $randomString = '';
        for ($i = 0; $i < 8; $i++) {
            $randomString .= $characters[rand(0, strlen($characters) - 1)];
        }
        return $randomString;
    }   
    function do_upload($img)
    {
        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'gif|jpg|png';

        $config['max_size'] = '1024 ';

        $config['file_name'] = $img;
        $this->load->library('upload',$config);

        if ( ! $this->upload->do_upload('image'))

        {
            $error = array('error' => $this->upload->display_errors()); 
            print_r($error);
             die();
            register("search/register");
        }
        else
        {
            $data = array('upload_data' => $this->upload->data());
            $this->load->view(register_view,$data);
            return $data;
        }
        return;
    }

我上传图像大小超过1 MB,做注册然后我没有得到错误消息。但是当我使用代码print_r($error)打印错误时,

  

错误消息显示为&#34;上传的文件超过最大值   允许PHP配置文件中的大小。&#34;

如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

听起来你需要增加post_max_size in php.ini。也增加了upload_max_filesize

php.ini

中的

post_max_size = 256M// according to your requirment
upload_max_filesize 128M