Maison >développement back-end >tutoriel php >Pourquoi mon téléchargement de fichier jQuery AJAX vers PHP ne fonctionne-t-il pas ?

Pourquoi mon téléchargement de fichier jQuery AJAX vers PHP ne fonctionne-t-il pas ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 19:51:13796parcourir

Why Isn't My jQuery AJAX File Upload to PHP Working?

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 :

  1. 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.

  2. 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 :

  • Assurez-vous que les paramètres de configuration du serveur pour upload_max_filesize et post_max_size sont adaptés à la taille des fichiers en cours de téléchargement.
  • Testez que les scripts disposent des autorisations appropriées et sont exécutables (CHMOD 755).

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