Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencipta dan Memuat Turun Fail CSV daripada Skrip PHP?
Pengenalan
Untuk meningkatkan fungsi tapak web, anda mungkin menghadapi senario di mana anda perlu mengeksport data daripada tatasusunan PHP anda ke dalam fail CSV untuk dimuat turun oleh pengguna. Walau bagaimanapun, sebagai pengaturcara baru, memahami cara melaksanakan tugas ini boleh menjadi mencabar. Artikel ini menawarkan panduan komprehensif untuk mencapai matlamat ini dengan berkesan.
Membuat Fail CSV
Untuk menjana fail CSV daripada tatasusunan PHP anda, anda boleh menggunakan bina- dalam fungsi fputcsv():
$f = fopen("tmp.csv", "w"); foreach ($array as $line) { fputcsv($f, $line); }
Mengkonfigurasi HTTP Pengepala
Untuk mencetuskan dialog "Simpan sebagai" dalam penyemak imbas, anda perlu menentukan pengepala HTTP yang sesuai:
header('Content-Disposition: attachment; filename="filename.csv"');
Menggabungkan Kedua-dua Proses
Dengan menggabungkan penciptaan fail CSV dan konfigurasi pengepala HTTP, anda boleh menjana perkara berikut fungsi:
function array_to_csv_download($array, $filename = "export.csv", $delimiter = ";") { // Open file in memory $f = fopen('php://memory', 'w'); // Generate CSV data foreach ($array as $line) { fputcsv($f, $line, $delimiter); } // Set headers header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename="' . $filename . '"'); // Output file fpassthru($f); }
Penggunaan
Untuk menggunakan fungsi ini, anda hanya boleh menyediakan tatasusunan PHP anda dan nama fail:
array_to_csv_download(array( array(1, 2, 3, 4), array(1, 2, 3, 4) ), "numbers.csv");
Kaedah Alternatif
Untuk prestasi yang lebih baik, anda boleh menggunakan php://output dan bukannya php://memory dan hapuskan operasi cari:
function array_to_csv_download($array, $filename = "export.csv", $delimiter = ";") { header('Content-Type: application/csv'); header('Content-Disposition: attachment; filename="' . $filename . '"'); // Open output stream $f = fopen('php://output', 'w'); // Generate CSV data foreach ($array as $line) { fputcsv($f, $line, $delimiter); } }
Atas ialah kandungan terperinci Bagaimana untuk Mencipta dan Memuat Turun Fail CSV daripada Skrip PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!