Maison  >  Article  >  développement back-end  >  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
Linda Hamiltonoriginal
2024-11-23 05:54:14714parcourir

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">

JavaScript (Ajouter un fichier) :

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

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

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

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!

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