Heim >Backend-Entwicklung >PHP-Tutorial >Warum funktioniert das Hochladen meiner jQuery-AJAX-Datei nach PHP nicht?

Warum funktioniert das Hochladen meiner jQuery-AJAX-Datei nach PHP nicht?

Susan Sarandon
Susan SarandonOriginal
2024-12-22 19:51:13846Durchsuche

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

jQuery AJAX-Datei-Upload mit PHP

Problem:

Es wird versucht, eine AJAX-Datei hochzuladen mit jQuery und PHP, aber die Datei wird nicht hochgeladen und die Erfolgsmeldung auch nicht ausgelöst.

Lösung:

  1. Serverseitiges Skript:

    Ein PHP-Skript auf dem Der Server ist erforderlich, um den Datei-Upload durchzuführen, die Formulardaten zu empfangen und die Datei am angegebenen Speicherort zu speichern. Zum Beispiel:

    if (0 < $_FILES['file']['error']) {
        echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    } else {
        move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
    }

    Stellen Sie sicher, dass das Upload-Verzeichnis über Schreibberechtigungen verfügt.

  2. AJAX-Aufruf:

    Der AJAX Der Aufruf im jQuery-Skript sollte die URL des serverseitigen Skripts zur Verarbeitung der Datei angeben Hochladen:

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

Datei auf dem Server umbenennen:

Anstelle von $_FILES['file']['name'], Verwenden Sie Ihren eigenen vom Server generierten Dateinamen in move_uploaded_file(), um die Datei umzubenennen Datei:

move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/my_new_filename.whatever');

Zusätzliche Tipps:

  • Stellen Sie sicher, dass die Serverkonfigurationseinstellungen für upload_max_filesize und post_max_size für die Größe der hochgeladenen Dateien geeignet sind.
  • Testen Sie, ob die Skripte über die richtigen Berechtigungen verfügen und ausführbar sind (CHMOD 755).

Das obige ist der detaillierte Inhalt vonWarum funktioniert das Hochladen meiner jQuery-AJAX-Datei nach PHP nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn