Maison >développement back-end >tutoriel php >Comment réaliser plusieurs téléchargements de fichiers dans CodeIgniter à l'aide d'un seul champ de saisie ?

Comment réaliser plusieurs téléchargements de fichiers dans CodeIgniter à l'aide d'un seul champ de saisie ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-28 19:00:12229parcourir

How to Achieve Multiple File Uploads in CodeIgniter Using a Single Input Field?

Téléchargement de fichiers multiples dans CodeIgniter avec une entrée unique

Dans cet article, nous aborderons une requête concernant le téléchargement de plusieurs fichiers à l'aide d'un seul élément dans CodeIgniter. En évaluant le formulaire fourni, le contrôleur, la méthode de téléchargement de fichiers et le problème rencontré, nous allons décortiquer et résoudre ce problème pour fournir une solution complète.

Le problème initial provenait du fait que la méthode de téléchargement de fichiers ne s'alignait pas correctement avec l'entrée du fichier entrant. L'ajustement proposé par @Denmark a judicieusement rectifié cet écart en réattribuant le nom d'entrée du formulaire de "images" à "images[]" pour correspondre à la sélection de plusieurs fichiers.

Méthode de téléchargement de fichiers révisée :

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;
}

En suivant cette méthode révisée, vous pouvez télécharger avec succès plusieurs fichiers en utilisant un seul élément d'entrée dans CodeIgniter.

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!

Déclaration:
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