Heim > Backend-Entwicklung > PHP-Tutorial > Wie lade ich Dateien effektiv mit AJAX und PHP herunter?

Wie lade ich Dateien effektiv mit AJAX und PHP herunter?

Mary-Kate Olsen
Freigeben: 2024-12-04 13:51:10
Original
338 Leute haben es durchsucht

How to Effectively Download Files Using AJAX and PHP?

So laden Sie eine Datei über AJAX in PHP herunter

Das Herunterladen von Dateien über einen AJAX-Aufruf in PHP erfordert kreative Ansätze, die über die herkömmlichen AJAX-Methoden hinausgehen. So können Sie dieser Herausforderung begegnen:

Anstatt AJAX zum Herunterladen von Dateien zu verwenden, sollten Sie erwägen, ein neues Fenster zu öffnen und dessen Adresse auf den Download-Link festzulegen. Dies ist eine einfache und effektive Technik.

Alternativ können Sie die document.location-Eigenschaft von JavaScript verwenden, um den Browser des Benutzers direkt zum Download-Link umzuleiten. Hier ist ein Beispiel:

function csv() {
  ajaxRequest = ajax();
  postdata = "data=" + document.getElementById("id").value;
  ajaxRequest.onreadystatechange = function () {
    var ajaxDisplay = document.getElementById('ajaxDiv');
    if (ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
      document.location = 'download.php?filename=' + ajaxRequest.responseText;
    }
  };
  ajaxRequest.open("POST", "csv.php", false);
  ajaxRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  ajaxRequest.send(postdata);
}
Nach dem Login kopieren

Dieser Code erstellt ein separates PHP-Skript namens download.php, das für das Herunterladen der im Dateinamenparameter angegebenen Datei verantwortlich ist.

Verwenden Sie in download.php Folgendes Codeausschnitt, um den Dateidownload zu erzwingen:

$fileName = 'file.csv';
$downloadFileName = 'newfile.csv';

if (file_exists($fileName)) {
  header('Content-Description: File Transfer');
  header('Content-Type: text/csv');
  header('Content-Disposition: attachment; filename='.$downloadFileName);
  ob_clean();
  flush();
  readfile($fileName);
  exit;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lade ich Dateien effektiv mit AJAX und PHP herunter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage