Heim >Backend-Entwicklung >PHP-Tutorial >Warum funktioniert das Hochladen meiner jQuery-AJAX-Datei nach PHP nicht?
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:
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.
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:
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!