Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mengendalikan Output Baris Tunggal dan Muat Turun Fail Semasa Menukar Tatasusunan PHP kepada CSV?
Kod anda bertujuan untuk menukar tatasusunan produk kepada fail CSV, tetapi anda menghadapi masalah yang mengakibatkan output satu baris tanpa pengepala muat turun yang betul.
Punca punca output baris tunggal terletak pada gelung bersarang yang membina kandungan CSV. Pertimbangkan untuk memperkemas proses menggunakan fungsi fputcsv() dan bukannya membina CSV secara manual. Ini memudahkan proses dan memastikan pemformatan yang betul.
Untuk mencetuskan muat turun fail, anda perlu menetapkan pengepala HTTP yang sesuai. Begini cara anda boleh melakukannya:
<code class="php">header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=your_desired_name.csv");</code>
Walau bagaimanapun, kod yang disediakan menulis fail CSV terus ke strim output, menjadikannya tidak boleh diakses oleh perpustakaan JavaScript yang mungkin anda gunakan untuk pemprosesan sebelah pelanggan.
Berikut ialah pendekatan alternatif yang menangani isu ini menggunakan fputcsv():
<code class="php">$sql = "SELECT id, name, description FROM products"; if($result = $mysqli->query($sql)) { $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')); while($p = $result->fetch_array()) { fputcsv($output, $p); } fclose($output) or die("Can't close php://output"); }</code>
Kod ini mencipta fail CSV dan menstrimkannya ke penimbal output. Fungsi fputcsv() mengendalikan pemformatan dan nilai melarikan diri secara automatik. Baris akhir menutup aliran keluaran, membebaskan sumber.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Output Baris Tunggal dan Muat Turun Fail Semasa Menukar Tatasusunan PHP kepada CSV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!