Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann AJAX verwendet werden, um den Fortschritt von Datei-Uploads in Echtzeit anzuzeigen?

Wie kann AJAX verwendet werden, um den Fortschritt von Datei-Uploads in Echtzeit anzuzeigen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-11 15:46:02199Durchsuche

How can AJAX be used to display real-time progress for file uploads?

AJAX-Fortschrittsbalken für den Datei-Upload-Status

Eine Datei-Upload-Aufgabe kann oft eine erhebliche Verarbeitungszeit in Anspruch nehmen, weshalb es unbedingt erforderlich ist, sie dem Benutzer zur Verfügung zu stellen mit Fortschrittsaktualisierungen. Ein AJAX-Skript kann diese Anforderung erfüllen, indem es Echtzeit-Fortschrittsinformationen bereitstellt.

AJAX-Implementierung

Im bereitgestellten Beispiel verfügt die ausführende Klasse über eine $progress-Eigenschaft, die Folgendes enthält den Upload-Fortschritt (1-100) und eine get_progress()-Methode zum Abrufen. Um diesen Fortschritt im Frontend anzuzeigen, kann AJAX verwendet werden.

Hier ist eine vereinfachte AJAX-Implementierung:

function updateProgressBar() {
  // Make an AJAX call to the PHP script
  $.ajax({
    url: "upload_status.php",
    success: function(data) {
      // Update the progress bar with the returned value
      $("#progress").val(data);
    }
  });
}

Diese Funktion fragt regelmäßig das PHP-Skript ab, um den aktuellen Fortschritt abzurufen, und aktualisiert den Fortschrittsbalken entsprechend.

Im PHP-Skript upload_status.php können Sie den Fortschrittswert mit der Methode $executing_class->get_progress() abrufen und als JSON-Antwort zurückgeben:

<?php
header('Content-Type: application/json');
echo json_encode(['progress' => $executing_class->get_progress()]);

Durch den regelmäßigen Aufruf von updateProgressBar() mithilfe eines Timers können Sie dem Benutzer kontinuierlich den Fortschritt anzeigen.

Das obige ist der detaillierte Inhalt vonWie kann AJAX verwendet werden, um den Fortschritt von Datei-Uploads in Echtzeit anzuzeigen?. 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