Hi all,
Malheureusement, CodeIgniter, et jusqu’à sa version actuelle 3.1.5 ne support pas l’upload de plusieurs fichiers utilisant sa librairie native « CI_Upload ».
Travaillant sur un projet en codeIgnite, j’ai eu besoin d’avoir cette fonctionnalité mais sans pour autant perdre la puissance de la librairie native d’aupload. La solution était d’étendre la librairie mère pour ajouter cette fonctionnalité.
L’utilisation est simple, il suffit de charger la librairie upload avec la config souhaitée, et ensuite utiliser la méthode do_multi_upload() avec comme méthode le nom du champ d’upload.
1- D’abord on met la librairie dans le dossier « libraries » de CI: (Codeigniterapp)/libraries/MY_Upload.php
2- Ensuite on crée notre form dans la vue:
<form action="/gallery/upload" method="post" enctype="multipart/form-data"> <input type="file" name="images[]" multiple="multiple"> <button class="btn btn-success">Submit</button> </form>
3- Maintenant, on s’intéresse au controller:
$config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = 2000; $this->load->library('upload', $config); $result = $this->upload->do_multi_upload('images'); var_dump($result); // $result contient les données du fichier s'il est uploadé avec success sinon l'erreur
Voilà, le tour est joué 🙂
Pour télécharger la llibrairie:
Catégorie: CodeIgniter, Développement frontend, Developpement web, Diverses Astuces.
4 commentaires
Jamais tester codeingiter en language front, j’essayerais surement un jour.
Noémie
Je confirme, c’est une excellente librairie pour l’utiliser de nombreuses fois.
Un grand merci franchement. Personnellement, je ne connaissais pas cette librairie. Cela va m’être très très utile. Merci encore.
Merci du partage ! Toujours utile.