Comment résoudre l'erreur « Vous n'avez pas sélectionné de fichier à télécharger » lors du téléchargement de plusieurs fichiers dans CodeIgniter ?

DDD
Libérer: 2024-11-26 00:28:13
original
608 Les gens l'ont consulté

How to Solve the

Téléchargements de fichiers multiples dans CodeIgniter

De nombreuses applications Web nécessitent la possibilité de télécharger plusieurs fichiers à la fois. CodeIgniter simplifie cette tâche grâce à sa bibliothèque de téléchargement de fichiers intégrée. Cependant, des problèmes peuvent survenir lors de la gestion de plusieurs fichiers avec un seul élément de formulaire.

Problème :

Dans l'exemple fourni, un message d'erreur « Vous n'avez pas sélectionné un fichier à télécharger" se produit lors de la tentative de téléchargement de plusieurs fichiers. Cela se produit car le nom du champ de saisie du fichier images[] n'est pas correctement géré dans la méthode upload_files().

Solution :

Pour résoudre ce problème, nous pouvons modifier la méthode upload_files() pour accepter le nom des images[] et gérer les fichiers individuels en conséquence :

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;
}
Copier après la connexion

En mettant à jour la méthode, chaque fichier du Le tableau images[] est correctement géré, résolvant le message d'erreur et permettant à plusieurs téléchargements de fichiers de fonctionner comme prévu.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal