Heim >Backend-Entwicklung >PHP-Tutorial >Wie behebt man den Fehler „Sie haben keine Datei zum Hochladen ausgewählt' beim Hochladen mehrerer Dateien in CodeIgniter?
Mehrere Datei-Uploads in CodeIgniter
Viele Webanwendungen erfordern die Möglichkeit, mehrere Dateien gleichzeitig hochzuladen. CodeIgniter erleichtert diese Aufgabe mit seiner integrierten Datei-Upload-Bibliothek. Es kann jedoch zu Problemen kommen, wenn mehrere Dateien mit einem einzelnen Formularelement verarbeitet werden.
Problem:
Im bereitgestellten Beispiel wurde eine Fehlermeldung angezeigt: „Sie haben kein ausgewählt Beim Versuch, mehrere Dateien hochzuladen, tritt die Fehlermeldung „Datei zum Hochladen“ auf. Dies liegt daran, dass der Name des Dateieingabefelds „images[]“ in der Methode „upload_files()“ nicht korrekt verarbeitet wird.
Lösung:
Um dieses Problem zu beheben, können wir Änderungen vornehmen die Methode upload_files(), um den Namen der Bilder[] zu akzeptieren und die einzelnen Dateien entsprechend zu behandeln:
private function upload_files($path, $title, $files) { $config = array( 'upload_path' => $path, 'allowed_types' => 'jpg|gif|png', 'overwrite' => 1, ); $this->load->library('upload', $config); $images = array(); 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]; $fileName = $title . '_' . $image; $images[] = $fileName; $config['file_name'] = $fileName; $this->upload->initialize($config); if ($this->upload->do_upload('images[]')) { $this->upload->data(); } else { return false; } } return $images; }
Durch die Aktualisierung der Methode wird jede Datei in der Das Array images[] wird korrekt verarbeitet, wodurch die Fehlermeldung behoben wird und das Hochladen mehrerer Dateien wie vorgesehen funktioniert.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Sie haben keine Datei zum Hochladen ausgewählt' beim Hochladen mehrerer Dateien in CodeIgniter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!