Сообщение об ошибке для загрузки изображения отображает так много в codeigniter - PullRequest
0 голосов
/ 16 октября 2018

Теперь я делаю проект PHP с использованием платформы CodeIgniter.Сейчас я создаю регистрационную форму, которая требует 4-х типов входного файла для загрузки изображения.

вот мой код просмотра:

Upload image 1 :
<input type="file" class="images" name="image1">
<?php echo form_error('image1'); ?> 

Upload image 2 :
<input type="file" class="images" name="image2">
<?php echo form_error('image2'); ?> 

а вот мои контроллеры

public function create()
{
    $post = $this->input->post();

    $res = $this->_register_validate();

    if(!$res){
        $this->add();
    }else{
        var_dump("success validation");
        exit;
    }
}

    private function _register_validate()
    { 

        if(!empty($_FILES['image1']['name']))
        {
            $this->form_validation->set_rules('image1','Upload image 1','callback_check_images1_upload');
        }

    if(!empty($_FILES['image2']['name']))
        {
            $this->form_validation->set_rules('image2','Upload image 2','callback_check_images2_upload');
        }


        $this->form_validation->set_error_delimiters('<span class="error message">', '</span>');

        if ($this->form_validation->run() == FALSE)
    {
        $res = false;
    }else{
        $res = true;
    }
    return $res;
    }

function check_images1_upload()
        {
        $config['upload_path'] = './public/admin/uploads/';
            $config['allowed_types'] = 'gif|jpg|png|jpeg';
            $config['max_size']   = '10';
            $config['max_width']  = '3000';
            $config['max_height'] = '3000';

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

            if ( ! $this->upload->do_upload('images1'))
            {
                    $this->form_validation->set_message('check_images1_upload', $data['error'] = $this->upload->display_errors());
            return false;
            }
            else
            {
                    return true;
            }
        }

    function check_images2_upload()
        {
        $config['upload_path'] = './public/admin/uploads/';
            $config['allowed_types'] = 'gif|jpg|png|jpeg';
            $config['max_size']   = '10';
            $config['max_width']  = '3000';
            $config['max_height'] = '3000';

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

            if ( ! $this->upload->do_upload('images2'))
            {
                    $this->form_validation->set_message('check_images2_upload', $data['error'] = $this->upload->display_errors());
            return false;
            }
            else
            {
                    return true;
            }
        } 

но результатдля ошибки отображения «images2» стало двойным, как это

введите описание изображения здесь

что мне делать, если я хочу, чтобы сообщение об ошибке из «images2» стало 1.

1 Ответ

0 голосов
/ 16 октября 2018

Удалить $data['error'] из set_messsage.

  public function create()
    {
       $post = $this->input->post();

       $res = $this->_register_validate();

       if(!$res){
           $this->add();
       }else{
           var_dump("success validation");
        exit;
       }
    }

    private function _register_validate()
    { 
        if(!empty($_FILES['image1']['name']))
        {
            $this->form_validation->set_rules('image1','Upload image 
                         1','callback_check_images1_upload');
        }

    if(!empty($_FILES['image2']['name']))
        {
            $this->form_validation->set_rules('image2','Upload image 2','callback_check_images2_upload');
        }


        $this->form_validation->set_error_delimiters('<span class="error message">', '</span>');

        if ($this->form_validation->run() == FALSE)
    {
        $res = false;
    }else{
        $res = true;
    }
    return $res;
    }

function check_images1_upload()
        {
        $config['upload_path'] = './public/admin/uploads/';
            $config['allowed_types'] = 'gif|jpg|png|jpeg';
            $config['max_size']   = '10';
            $config['max_width']  = '3000';
            $config['max_height'] = '3000';

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

            if ( ! $this->upload->do_upload('images1'))
            {
                    $this->set_message('check_images1_upload', $this->upload- 
                    >display_errors());
            return false;
            }
            else
            {
                    return true;
            }
        }

    function check_images2_upload()
        {
        $config['upload_path'] = './public/admin/uploads/';
            $config['allowed_types'] = 'gif|jpg|png|jpeg';
            $config['max_size']   = '10';
            $config['max_width']  = '3000';
            $config['max_height'] = '3000';

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

            if ( ! $this->upload->do_upload('images2'))
            {
                    $this->form_validation->set_message('check_images2_upload', 
                      $this->upload->display_errors());
                     return false;
            }
            else
            {
                    return true;
            }
        } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...