


Memuat Turun Fail Secara Asynchronous dengan PHP: Panduan Komprehensif
Apabila membina aplikasi web interaktif, selalunya timbul keperluan untuk memuat turun fail secara tidak segerak. Kaedah ini membolehkan anda mendapatkan semula fail dari pelayan tanpa menyegarkan keseluruhan halaman, meningkatkan pengalaman pengguna. Artikel ini memberi tumpuan kepada menggunakan PHP untuk mencapai muat turun fail tak segerak.
Kami akan menyelidiki senario biasa di mana butang mencetuskan fungsi AJAX. Fungsi AJAX menghantar data ke skrip PHP, yang seterusnya mencipta fail CSV berdasarkan input pengguna. Cabarannya terletak pada menggesa penyemak imbas memuat turun fail CSV yang baru dibuat ini.
Fungsi AJAX untuk Permulaan Muat Turun Fail
Seperti yang digariskan dalam coretan kod yang disediakan, klik butang memulakan fungsi AJAX csv().
function csv(){ $ajaxRequest = ajax();//ajax() initializes XML HTTP Requests $postdata = "data=" + document.getElementById("id").value; $ajaxRequest.onreadystatechange = function(){ $ajaxDisplay = document.getElementById('ajaxDiv'); if($ajaxRequest.readyState == 4 && $ajaxRequest.status==200){ $ajaxDisplay.innerHTML = $ajaxRequest.responseText; } } $ajaxRequest.open("POST","csv.php",false); $ajaxRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); $ajaxRequest.send($postdata); }
Kod PHP untuk Pembuatan Fail dan Prompt Muat Turun
Skrip csv.php mengendalikan penciptaan fail dan gesaan muat turun. Walau bagaimanapun, skrip yang disediakan tidak sesuai untuk tujuan kami.
$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; } echo "done";
Apabila skrip ini disertakan pada penghujung csv.php, kandungan file.csv dipaparkan dalam halaman (dalam elemen ajaxDiv ) daripada memulakan muat turun.
Penyelesaian: Menggunakan Tetingkap Baharu untuk Muat turun
Untuk memaksa muat turun, kami tidak boleh bergantung pada AJAX. Sebaliknya, kami boleh membuka tetingkap baharu dengan pautan muat turun sebagai alamatnya atau menggunakan document.location = ....
window.open('download.php?file=' . $fileName, '_blank'); // or document.location = 'download.php?file=' . $fileName;
Kesimpulan
Untuk fail tak segerak muat turun dalam PHP, elakkan menggunakan AJAX. Pertimbangkan untuk membuka tetingkap baharu dengan pautan muat turun atau mengubah hala lokasi dokumen untuk memulakan muat turun.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Muat Turun Fail Asynchronous dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Phpidentifierauser'sSessionusingSessionCookiesandSessionIds.1) whensession_start () ISCALLED, phpGeneratesAuniquesessionIdstoredinacookienamedPhpsessidontheUserer'sBrowser.2) ThisIdallowsPhptoretRievesSessionDataFromtheserver.

Keselamatan sesi PHP boleh dicapai melalui langkah -langkah berikut: 1. Gunakan session_regenerate_id () untuk menjana semula ID sesi apabila pengguna log masuk atau merupakan operasi penting. 2. Sulitkan ID sesi penghantaran melalui protokol HTTPS. 3. Gunakan session_save_path () untuk menentukan direktori selamat untuk menyimpan data sesi dan menetapkan kebenaran dengan betul.

PhpsessionFileSarestoredIntHedirectorySpecifiedBySession.save_path, biasanya/tmponunix-likesystemsorc: \ windows \ temponwindows.tocustomethis: 1) usession_save_path ()

ToretrievedataFromaphpsession, startTheSessionWithSsion_start () andaccessVariablesInthe $ _SessionArray.Forexample: 1) startTheSession: session_start ()

Langkah -langkah untuk membina sistem keranjang belanja yang cekap menggunakan sesi termasuk: 1) Memahami definisi dan fungsi sesi. Sesi ini adalah mekanisme penyimpanan sisi pelayan yang digunakan untuk mengekalkan status pengguna merentasi permintaan; 2) melaksanakan pengurusan sesi asas, seperti menambah produk ke keranjang belanja; 3) memperluas penggunaan lanjutan, menyokong pengurusan kuantiti produk dan penghapusan; 4) Mengoptimumkan prestasi dan keselamatan, dengan berterusan data sesi dan menggunakan pengecam sesi yang selamat.

Artikel ini menerangkan cara membuat, melaksanakan, dan menggunakan antara muka dalam PHP, memberi tumpuan kepada manfaat mereka untuk organisasi kod dan penyelenggaraan.

Artikel ini membincangkan perbezaan antara crypt () dan password_hash () dalam php untuk hashing kata laluan, memberi tumpuan kepada pelaksanaan, keselamatan, dan kesesuaian untuk aplikasi web moden.

Artikel membincangkan mencegah skrip lintas tapak (XSS) dalam PHP melalui pengesahan input, pengekodan output, dan menggunakan alat seperti OWASP ESAPI dan pembersih HTML.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Dreamweaver CS6
Alat pembangunan web visual

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.
