Maison > développement back-end > tutoriel php > Comment implémenter plusieurs téléchargements de fichiers alimentés par Ajax avec PHP, jQuery et AJAX ?

Comment implémenter plusieurs téléchargements de fichiers alimentés par Ajax avec PHP, jQuery et AJAX ?

Linda Hamilton
Libérer: 2024-11-23 05:54:14
original
778 Les gens l'ont consulté

How to Implement Ajax-Powered Multiple File Uploads with PHP, jQuery, and AJAX?

Téléchargements de fichiers multiples alimentés par Ajax avec PHP, jQuery et AJAX

Pour télécharger plusieurs fichiers à l'aide de PHP, jQuery et AJAX, suivez ces étapes :

HTML Formulaire :

<form enctype="multipart/form-data" action="upload.php" method="post">
    <input name="file[]" type="file" />
    <button class="add_more">Add More Files</button>
    <input type="button">
Copier après la connexion

JavaScript (Ajouter un fichier) :

$(document).ready(function() {
    $('.add_more').click(function(e) {
        e.preventDefault();
        $(this).before("<input name='file[]' type='file' />");
    });
});
Copier après la connexion

JavaScript (Télécharger des fichiers) :

$('body').on('click', '#upload', function(e) {
    e.preventDefault();
    var formData = new FormData($(this).parents('form')[0]);

    $.ajax({
        url: 'upload.php',
        type: 'POST',
        xhr: function() {
            var myXhr = $.ajaxSettings.xhr();
            return myXhr;
        },
        success: function (data) {
            alert("Data Uploaded: " + data);
        },
        data: formData,
        cache: false,
        contentType: false,
        processData: false
    });
    return false;
});
Copier après la connexion

Téléchargement de fichiers PHP Traitement :

for ($i = 0; $i < count($_FILES['file']['name']); $i++) {
    $target_path = "uploads/";
    $ext = explode('.', basename($_FILES['file']['name'][$i]));
    $target_path = $target_path . md5(uniqid()) . "." . $ext[count($ext) - 1];

    if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $target_path)) {
        echo "The file has been uploaded successfully <br />";
    } else {
        echo "There was an error uploading the file, please try again! <br />";
    }
}
Copier après la connexion

Ce code rationalise le processus de téléchargement de plusieurs fichiers via une requête Ajax.

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