Maison >développement back-end >tutoriel php >Pourquoi est-ce que j'obtiens « Vous n'avez pas sélectionné de fichier à télécharger » lors du téléchargement de plusieurs fichiers dans CodeIgniter ?
Téléchargements de fichiers multiples avec CodeIgniter
Problème :
Lors de la tentative de téléchargement de plusieurs fichiers à l'aide l'exemple fourni, le message d'erreur "Vous n'avez pas sélectionné de fichier à télécharger." apparaît de manière persistante.
Solution :
Le problème réside dans la méthode de téléchargement. Pour télécharger correctement plusieurs fichiers à l'aide de CodeIgniter, le code doit être mis à jour comme suggéré ci-dessous :
private function upload_files($title, $files) { $config = array( 'upload_path' => './upload/real_estate/', 'allowed_types' => 'jpg|gif|png', 'overwrite' => 1, ); $this->load->library('upload', $config); foreach ($files['name'] as $key => $image) { $_FILES['images[]']['name']= $files['name'][$key]; $_FILES['images[]']['type']= $files['type'][$key]; $_FILES['images[]']['tmp_name']= $files['tmp_name'][$key]; $_FILES['images[]']['error']= $files['error'][$key]; $_FILES['images[]']['size']= $files['size'][$key]; $config['file_name'] = $title .'_'. $image; $this->upload->initialize($config); if ($this->upload->do_upload('images[]')) { $this->upload->data(); } else { return false; } } return true; }
Explication :
La principale différence réside dans l'initialisation du téléchargement méthode. Lors de l'utilisation de plusieurs entrées de fichier portant le même nom, le tableau d'entrée doit être référencé comme '$_FILES['images[]']', au lieu de '$_FILES['images']', comme indiqué dans le code corrigé fourni. Cela garantit que chaque fichier individuel est traité et téléchargé correctement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!