Я хочу сохранить путь к изображению в массиве с индексом, как электронная почта пользователей в codeigniter - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь загрузить изображение пользователя в папке загрузки, находящейся в каталоге root, но я не хочу создавать глобальный массив, потому что каждый человек не может загрузить свое изображение, только определенный человек может, поэтому я готов создайте глобальный массив, который будет вызываться до Пользователь успешно добавлен , который расширяет массив индексом по электронной почте пользователей и полным путем к изображению $ config [full_path] или что-то еще, что я не уверен в том, что это будет было бы здорово, если вы можете объяснить это, поэтому я создал глобальный массив в codeigniter, но он не работает.

Мой контроллер

class Welcome extends CI_Controller {
        $slogan = array();
        public function add_user_validation(){
        $this->form_validation->set_rules("firstName", "First Name", "required|trim|alpha");
        $this->form_validation->set_rules("lastName", "Last Name", "required|trim|alpha");
        $this->form_validation->set_rules("email", "Email", "required|trim|valid_email");
        $this->form_validation->set_rules("password", "Password", "required");
        $this->form_validation->set_rules("passwordMatch", "Password Comfirmation", "required|matches[password]");
        $this->form_validation->set_rules("userStatus", "User Status", "required");

        // if(!empty($_FILES['candidateSlogan'])){
        if(isset($_FILES['candidateSlogan'])){
            $config['upload_path'] = './upload/';
            $config['allowed_types'] = 'png|jpg|jpeg';
        }

        if ($this->form_validation->run()) {
            $this->load->model('main_model');
            $data = array(
                "first_name"    =>  $this->input->post('firstName'),
                "last_name"     =>  $this->input->post('lastName'),
                "email"         =>  $this->input->post('email'),
                "password"      =>  $this->input->post('password'),
                "user_status"   =>  $this->input->post('userStatus')
            );

            if($this->main_model->search_user_if_new($data)){
                if($this->input->post('userStatus') == 'candidate'){
                    $this->load->library('upload', $config);
                    if($this->upload->do_upload('candidateSlogan')){
                        $candidateSlogan = $this->upload->data();
                        // print_r($candidateSlogan);
                        if($this->main_model->add_user($data)){
                            $slogan[$this->input->post('email')] = $candidateSlogan['full_path'];
                            $success['message'] = 'User Added Successfully';
                            echo json_encode($success);
                        }
                        else{
                            $error['message'] = 'An error Occured'; 
                        }
                    }
                    else{
                        $error = array(
                            'file_error' => $this->upload->display_errors(),
                            'message' => 'Error'
                        );
                        echo json_encode($error);
                    }
                }
                else if($this->main_model->add_user($data)){
                    $success['message'] = 'User Added Successfully';
                    echo json_encode($success);
                }
            }
            else{
                $error['message'] = 'User Already Exists';
                echo json_encode($error);
            }       
        }
        else{
            $data = array(
                'message' => 'Error',
                'firstName' => form_error('firstName'),
                'lastName' => form_error('lastName'),
                'email' => form_error('email'),
                'password' => form_error('password'),
                'passwordMatch' => form_error('passwordMatch'),
                'userStatus' => form_error('userStatus')
            );
            echo json_encode($data);
        }}

1 Ответ

1 голос
/ 31 марта 2020

Я не уверен, я правильно понял ваш вопрос. Чтобы присвоить значение глобальной переменной, вы должны использовать $this.

$this->slogan[$this->input->post('email')] = $candidateSlogan['full_path'];

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