Bagaimana untuk memuat turun fail CSV daripada PHP Array?

Linda Hamilton
Lepaskan: 2024-11-08 16:57:02
asal
416 orang telah melayarinya

How to Download a CSV file from a PHP Array?

Cara Membuat dan Memuat Turun Fail CSV daripada Skrip PHP

Mencipta dan memuat turun fail CSV daripada tatasusunan PHP ialah teknik yang berguna dalam pembangunan laman web. Berikut ialah panduan terperinci untuk pengaturcara pemula:

Membuat Fail CSV

  1. Gelung Melalui Tatasusunan: Ulangi elemen anda Tatasusunan PHP.
  2. Buat Garisan CSV: Untuk setiap elemen tatasusunan, gunakan fungsi fputcsv() untuk menjana baris nilai dipisahkan koma (CSV). Fungsi ini mengambil elemen tatasusunan dan pembatas (biasanya koma) sebagai parameter.

Contoh:

$array = [
    ['fs_id' => '4c524d8abfc6ef3b201f489c', 'name' => 'restaurant', ...],
    // More array elements...
];

$delimiter = ',';

$csv = fopen('tmp.csv', 'w');

foreach ($array as $line) {
    fputcsv($csv, $line, $delimiter);
}
Salin selepas log masuk

Memuat turun Fail CSV

  1. Tetapkan HTTP Pengepala: Untuk menjadikan penyemak imbas menawarkan dialog "Simpan Sebagai", tetapkan pengepala HTTP yang menentukan nama fail dan jenisnya sebagai CSV.
header('Content-Disposition: attachment; filename="filename.csv"');
header('Content-Type: text/csv');
Salin selepas log masuk
  1. Hantar CSV ke Pelayar: Gunakan fungsi fpassthru() untuk menghantar baris CSV yang dijana ke pelayar.
fseek($csv, 0); // Reset the file pointer to the start
fpassthru($csv);
Salin selepas log masuk

Menyatukan Semuanya

Fungsi berikut menggabungkan kedua-dua langkah dan membolehkan anda memuat turun fail CSV daripada tatasusunan:

function array_to_csv_download($array, $filename = 'export.csv', $delimiter = ',') {
    // Set HTTP headers
    header('Content-Disposition: attachment; filename="' . $filename . '"');
    header('Content-Type: text/csv');

    // Create a file pointer
    $csv = fopen('php://memory', 'w');

    // Loop through the array and create CSV lines
    foreach ($array as $line) {
        fputcsv($csv, $line, $delimiter);
    }

    // Send the generated CSV to the browser
    fpassthru($csv);
}
Salin selepas log masuk

Penggunaan:

$array = [
    ['fs_id' => '4c524d8abfc6ef3b201f489c', 'name' => 'restaurant', ...],
    // More array elements...
];

array_to_csv_download($array, 'restaurants.csv');

// The CSV file will be downloaded to the user's computer.
Salin selepas log masuk

Nota Tambahan:

Sebagai alternatif kepada menggunakan php: //memori, anda juga boleh menggunakan php://output untuk deskriptor fail, yang mungkin lebih cekap untuk besar set data.

Kaedah ini menyediakan cara yang mudah untuk mencipta dan memuat turun fail CSV daripada tatasusunan PHP, menjadikannya alat yang berharga untuk pembangun tapak web.

Atas ialah kandungan terperinci Bagaimana untuk memuat turun fail CSV daripada PHP Array?. 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