Comment implémenter plusieurs téléchargements de fichiers en PHP et jQuery ?

Linda Hamilton
Libérer: 2024-10-26 19:34:03
original
1072 Les gens l'ont consulté

How to Implement Multiple File Uploads in PHP and jQuery?

Gestion de plusieurs téléchargements de fichiers en PHP et jQuery

Dans le domaine du développement Web, la possibilité de télécharger plusieurs fichiers est souvent requise pour des tâches telles que des galeries d'images, des documents systèmes de gestion, et bien d’autres. Ce didacticiel vous guidera tout au long du processus d'activation de plusieurs téléchargements de fichiers à l'aide de PHP et jQuery.

Configuration HTML et formulaire

Le formulaire HTML sert d'interface où les fichiers seront sélectionnés pour le téléchargement. Ici, nous avons un champ de saisie de type "fichier" avec l'attribut "multiple" défini pour permettre la sélection de plusieurs fichiers :

<input id="myfile" type="file" name="myfile" multiple=multiple/>
Copier après la connexion

Lorsque vous cliquez sur le bouton "Télécharger", la fonction sendfile() est déclenché via le gestionnaire d'événements onclick.

jQuery et FormData

La fonction sendfile() utilise jQuery pour construire un objet FormData. Cet objet permet d'inclure des données de formulaire, y compris des fichiers, à envoyer au script côté serveur. Chaque fichier sélectionné est ajouté à l'objet FormData :

for (var i = 0, len = document.getElementById('myfile').files.length; i < len; i++) {
    fd.append("myfile", document.getElementById('myfile').files[i]);                
}
Copier après la connexion

Script PHP côté serveur

Côté serveur, le script uploadfile.php gère les téléchargements de fichiers :

<code class="php">$target = "uploadfolder/";
// for($i=0; $i <count($_FILES['myfile']['name']); $i++){
    if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target.$_FILES['myfile']['name'])) { 
        echo 'Successfully copied'; 

    }else{       
        echo 'Sorry, could not copy';
    }   
// } 
Copier après la connexion

Cependant, ce code est incomplet car il manque la boucle pour parcourir plusieurs fichiers. Vous devrez implémenter la boucle comme indiqué dans la réponse correcte fournie.

Exemple de mise à jour (basé sur la réponse)

Dans l'exemple fourni dans la réponse, le code jQuery et la structure HTML sont similaire au code incomplet ci-dessus. La principale différence réside dans le script load.php :

La boucle a été implémentée pour gérer plusieurs fichiers.

<code class="php">foreach ($_FILES as $key) {
    if($key['error'] == UPLOAD_ERR_OK ){
        $name = $key['name'];
        $temp = $key['tmp_name'];
        $size= ($key['size'] / 1000)."Kb";
        move_uploaded_file($temp, $path . $name);
        echo "
            <div>
                <h1>File Name: $name</h1><br />
                <h1>Size: $size</h1><br />
                <hr>
            </div>
            ";
    }else{
        echo $key['error'];
    }
}
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal