Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk memuat turun fail dengan berkesan menggunakan AJAX dan PHP?

Bagaimana untuk memuat turun fail dengan berkesan menggunakan AJAX dan PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-04 13:51:10
asal
339 orang telah melayarinya

How to Effectively Download Files Using AJAX and PHP?

Cara Muat Turun Fail Melalui AJAX dalam PHP

Memuat turun fail melalui panggilan AJAX dalam PHP memerlukan pendekatan kreatif melangkaui kaedah AJAX konvensional. Begini cara untuk menangani cabaran ini:

Daripada menggunakan AJAX untuk muat turun fail, pertimbangkan untuk membuka tetingkap baharu dan menetapkan alamatnya kepada pautan muat turun. Ini adalah teknik yang mudah dan berkesan.

Sebagai alternatif, anda boleh menggunakan sifat document.location JavaScript untuk mengubah hala penyemak imbas pengguna terus ke pautan muat turun. Berikut ialah contoh:

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);
}
Salin selepas log masuk

Kod ini mencipta skrip PHP berasingan yang dipanggil download.php, bertanggungjawab untuk memuat turun fail yang dinyatakan dalam parameter nama fail.

Dalam download.php, gunakan yang berikut coretan kod untuk memaksa muat turun fail:

$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;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk memuat turun fail dengan berkesan menggunakan AJAX dan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan