Maison >développement back-end >tutoriel php >Pourquoi mon téléchargement de fichier jQuery AJAX vers PHP ne fonctionne-t-il pas ?
Téléchargement de fichiers AJAX jQuery avec PHP
Problème :
Un téléchargement de fichier AJAX est tenté en utilisant jQuery et PHP, mais le fichier n'est pas téléchargé et l'alerte de réussite n'est pas déclenché.
Solution :
Script côté serveur :
Un script PHP sur le Le serveur est requis pour gérer le téléchargement du fichier, recevoir les données du formulaire et enregistrer le fichier à l'emplacement spécifié. Par exemple :
if (0 < $_FILES['file']['error']) { echo 'Error: ' . $_FILES['file']['error'] . '<br>'; } else { move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); }
Assurez-vous que le répertoire de téléchargement dispose des autorisations en écriture.
Appel AJAX :
L'AJAX l'appel dans le script jQuery doit spécifier l'URL du script côté serveur pour gérer le fichier upload :
$.ajax({ url: 'upload.php', // Point to the server-side PHP script dataType: 'text', // Specify the expected response type (optional) cache: false, contentType: false, processData: false, data: form_data, type: 'post', success: function(php_script_response) { alert(php_script_response); // Display the response from the PHP script (optional) } });
Renommer le fichier sur le serveur :
Au lieu de $_FILES['file']['name'], utilisez votre propre nom de fichier généré par le serveur dans move_uploaded_file() pour renommer le file :
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/my_new_filename.whatever');
Conseils supplémentaires :
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!