2017-10-10 5 views
0

Voici mon problème, tout est ok avec mon code, je veux juste afficher le message d'erreur lorsque l'utilisateur télécharger une image de taille/type non autorisé, est tout dans le contrôleur ou j'ai besoin de créer un modèle pour passer la variable d'erreur $?:Codeigniter: retour variable entre les fonctions

public function upload_face1($file1, $id){ 
    $config['upload_path'] = '././assets/administrador/images/'; 
    $config['allowed_types'] = 'gif|jpg|png'; 
    $config['max_width'] = '470'; 
    $config['max_height'] = '276'; 

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

    if (!$this->upload->do_upload($file1)) { 
     $error = $this->upload->display_errors()); // The $error Variable that don't display in my view, I can't return it to the function editMetatags() to load the view from there 
     return $error; 
    } else { 
     $register = $this->mmetatags->catchFace1($id); 
     unlink('././assets/admin/images/'.$register->face1); 
     $file_info = $this->upload->data(); 
     $save = $file_info['file_name']; 
     $this->mmetatags->editFace1($id, $save); 
     return true; 
    } 
} 

public function editMetatags($d){ 
    $param["cod_meta"] = $d; 
    $param['title'] = $this->input->post("title"); 
    $param['description'] = $this->input->post("description"); 
    $param['keywords'] = $this->input->post("keywords"); 

    if (isset($_FILES['face1']) && $_FILES['face1']['name'] != ''){ 
     $file1 = $this->upload_face1('face1', $d); //The file is there, but It wasn't uploaded beacause don't have the allowed size or type. 
    } 

    $data['error'] = $error; // Here is the variable "returned" 
    $data['mensaje'] = 'success :D'; 
    $data["metatags"] = $this->mmetatags->loadMetatags($d); 
    $this->load->view('administrador/editmetatags', $data, $error); 

} 

Merci quand même.

Répondre

0

Un moyen facile d'obtenir les erreurs à la vue serait d'utiliser la charge de CodeIgniter :: vars() comme ceci:

$this->load->vars(array('upload_errors' => $this->upload->display_errors())); 

Alors à votre avis:

if(isset($upload_errors)) 
     echo $upload_errors; 
+0

Wow, vous remercie :RÉ . – raulmartiarena