Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Tatasusunan PHP kepada Fail CSV yang Berformat Baik dengan Pengepala?

Bagaimana untuk Menukar Tatasusunan PHP kepada Fail CSV yang Berformat Baik dengan Pengepala?

Barbara Streisand
Barbara Streisandasal
2024-10-19 18:58:30284semak imbas

How to Convert a PHP Array to a Well-Formatted CSV File with Headers?

Penukaran Tatasusunan PHP kepada CSV: Penyelesaian Diperkemas

Menukar tatasusunan kepada fail CSV dalam PHP boleh menyusahkan. Jika anda bergelut untuk menghasilkan CSV yang diformat dengan betul, artikel ini akan memberikan penyelesaian yang lebih baik.

Masalahnya: CSV Baris Tunggal dan Tiada Pengepala

Pertimbangkan kod berikut:

<code class="php">$prods = [1, 2, 3];

foreach ($prods as $prod) {
    $sql = "SELECT * FROM products WHERE id = '$prod'";
    $result = $mysqli->query($sql);
    $info = $result->fetch_array(); 
}

// ... rest of the code</code>

Kod ini mungkin menghasilkan fail CSV yang merupakan satu baris panjang dan bukannya format yang dikehendaki dengan pengepala dan pemisah baris.

Penyelesaian: Menggunakan fputcsv()

Untuk menyelesaikan isu ini, gantikan kod yang menulis pada fail CSV dengan yang berikut:

<code class="php">$output = fopen("php://output",'w') or die("Can't open php://output");
header("Content-Type:application/csv"); 
header("Content-Disposition:attachment;filename=pressurecsv.csv"); 
fputcsv($output, array('id','name','description'));
foreach($prod as $product) {
    fputcsv($output, $product);
}
fclose($output) or die("Can't close php://output");</code>

Fungsi fputcsv() secara automatik mengendalikan pelarian, pembatas medan dan penghujung baris, memastikan CSV diformat dengan betul .

Nota Tambahan

  • Gunakan fopen('php://output', 'w') dan bukannya pengekodan keras nama fail untuk mencipta CSV dalam ingatan.
  • Tetapkan pengepala yang sesuai untuk muat turun CSV dalam pengepala().
  • Gunakan fputcsv() untuk menulis baris pengepala dan baris CSV yang berikutnya.
  • Tutup fail pada akhirnya dengan fclose().

Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan PHP kepada Fail CSV yang Berformat Baik dengan Pengepala?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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