2016-01-17 1 views
0

Ceci est vraiment étrange, j'ai essayé de vérifier les meilleures suggestions dans google qui est similaire à mon problème ici, mais je crois que ce ne sont pas les réponses à cela. J'utilise le fichier 'userfile' par défaut. Quelqu'un peut-il me dire ce que je manque ici?Erreur de téléchargement de fichier Codeigniter: Vous n'avez pas sélectionné de fichier à télécharger

La structure de ma forme:

<div class="panel-body"> 
    <?php echo form_open_multipart('register','role="studentForm" class="form-horizontal'); ?> 

    <div class="form-group"> 
     <label for="userfile" class="col-lg-3 col-md-3 col-sm-3 control-label">Profile Picture</label> 
     <div class="col-lg-9 col-md-9 col-sm-9"> 
       <input type="file" name="userfile" size="20" id="userfile"> 
     </div> 
    </div> 
    <button type="submit" class="btn btn-default btn-login-style btn-sm pull-right">Submit</button> 
    <?php echo form_close(); ?> 
</div> 

La structure de mon contrôleur:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Register extends CI_Controller{ 

    function __construct(){ 
     parent::__construct(); 
    } 

    function index(){ 

     $config['upload_path']   = './uploads/'; 
     $config['allowed_types']  = 'gif|jpg|png|jpeg'; 
     $config['max_size']    = 2048; 
     $config['max_width']   = 1024; 
     $config['max_height']   = 768; 

     $this->upload->initialize($config); 



     if(!$this->upload->do_upload()){ 

      $error = array('error'=>$this->upload->display_errors()); 

      echo $error['error']; 
     }else{ 

      $uploaded_pic = $this->upload->data(); 
     } 
    } 
} 

?> 

REMARQUE: la bibliothèque 'Upload' est chargé automatiquement autoload.php.

Répondre

0

ok je l'ai eu. Je manque une citation " dans ma classe:

le mauvais code:

<?php echo form_open_multipart('register','role="studentForm" class="form-horizontal'); ?> 

la correction ici:

<?php echo form_open_multipart('register','role="studentForm" class="form-horizontal"'); ?> 
0

essayez de supprimer $this->upload->do_upload(); avant l'instruction if else? n'ont pas besoin de spécifier deux fois.

+0

ah ouais, celui-là. l'utilisation de mon code ci-dessus montre deux phrases 'Vous n'avez pas sélectionné de fichier à télécharger'. Si je supprime cela, je reçois toujours la même erreur mais avec une phrase cependant. – threeFatCat

+0

pas sûr si c'est le bon, mais vous avez manqué une virgule sur cette ligne, entre le rôle et la classe
Programmer

+0

et pouvez-vous également utiliser à la place? 'form-horizontal', 'role' => 'studentForm'); echo form_open_multipart ('register', $ attributes);? – Programmer

0

Vous avez appelé $this->upload->do_upload(); deux fois. Pls supprime le premier.

Et utiliser $this->upload->do_upload('userfile'); en place de $this->upload->do_upload();

+0

je reçois toujours la même erreur, comme ce que j'ai dit dans la réponse précédente.Il montre seulement deux messages d'erreur, je suis l'a déplacé. Et maintenant, montrant toujours une erreur. – threeFatCat

+0

J'ai mis à jour le code ci-dessus, merci de le signaler. – threeFatCat

0

La deuxième ligne vous, S'il vous plaît le corriger

<?php echo form_open_multipart('register','role="studentForm" class="form-horizontal" '); ?>