2010-07-17 6 views
0

J'ai un téléchargeur d'images qui ne télécharge pas d'images. Je ne reçois aucune erreur et j'ai vérifié les permissions de dossier et même sur 777 aucune image ne sera téléchargée.Problème avec la galerie de téléchargement

Vous pouvez voir le code ici: http://pastebin.com/gvH1dKh9

La valeur gallery_path est/home/domaine/public_html/assets/images/Galerie

La valeur gallery_path_url est http://domain.com/assets/images/gallery/

J'ai utilisé ce même code sur un autre site avec zéro problème. Je ne suis pas sûr quel est le problème avec ce site?

Répondre

0

Les modèles sont destinés à l'interaction avec des bases de données. Essayez de déplacer votre code de téléchargement dans le contrôleur, puis, si nécessaire, prenez les données renvoyées ($this->upload->data();) et transmettez-les à un modèle pour insertion dans une base de données.

function index() { 
     $this->load->model('Gallery_model'); 
     if ($this->input->post('upload')) { 
       $config = array(
         'allowed_types' => 'jpg|jpeg|gif|png', 
         'upload_path' => '/uploads', 
         'max_size' => 2000 
       ); 

       $this->load->library('upload', $config); 
       $this->upload->do_upload(); 
       $image_data = $this->upload->data(); 
       $this->Gallery_model->insertImageData($image_data); 
     } 
} 
+0

J'ai essayé de changer un peu. J'ai déplacé la fonctionnalité dans le contrôleur. Voici à quoi ressemble mon contrôleur maintenant. Je reçois le même résultat cependant. la page revient et aucune image n'a été téléchargée. http://pastebin.com/anFP67rf –

+0

Stormdrain, ce n'est pas vrai. Les modèles sont compatibles avec toute forme d'interaction de données, que ce soit via une base de données ou un fichier (ou autre chose). Mettre le téléchargement de code lié dans un modèle est parfaitement bien. –

+0

@Yorick Peterse: A partir du guide utilisateur de CI: "Les modèles sont des classes PHP conçues pour fonctionner avec les informations de votre base de données." http://codeigniter.com/user_guide/general/models.html – stormdrain

0

Essayez de faire une vérification des erreurs sur votre téléchargement:

if(! $this->upload->do_upload('Filedata')){ 
    echo $this->upload->display_errors(); 
} 
$upload_info = $this->upload->data(); 

echo var_dump($upload_info); 
+0

Voici les messages que je reçois: Le chemin de téléchargement ne semble pas être valide. Vous n'avez pas sélectionné de fichier à télécharger. array (13) {["nom_fichier"] => chaîne (0) "" ["type_fichier"] => chaîne (0) "" ["chemin_fichier"] => chaîne (0) "" ["chemin_fichier" ] => string (0) "" ["raw_name"] => chaîne (0) "" ["orig_name"] => chaîne (0) "" ["file_ext"] => chaîne (0) "" [" taille_fichier "] => chaîne (0)" "[" is_image "] => booléen (faux) [" largeur_image "] => chaîne (0)" "[" image_height "] => chaîne (0)" "[" image_type "] => chaîne (0)" "[" image_size_str "] => chaîne (0)" "} chaîne (48)"/home/verdebus/public_html/assets/images/galerie " –

+0

J'ai vérifié les extensions de fichier et ils sont corrects. J'ai essayé de coder en dur le chemin du téléchargement, en supprimant/home/verdebus et en utilisant simplement/public/html/assets/images/gallery et cela n'a pas fonctionné. et je l'ai essayé avec et sans slash. toujours pas aller. –

1

Utilisez

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

au lieu de

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

Dans mon cas, il a été utile

Questions connexes