Maison > Article > développement back-end > Comment implémenter plusieurs téléchargements de fichiers alimentés par Ajax avec PHP, jQuery et 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!