บันทึกไฟล์แบบ CSV โดยใช้ฟังก์ชัน fputcsv

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 765
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

บันทึกไฟล์แบบ CSV โดยใช้ฟังก์ชัน fputcsv

โพสต์โดย Patipat » 19/07/2019 5:01 pm

เวลา เราสร้างข้อมูลมา ไม่ว่าจะเป็นข้อมูลของ บุคคลทั่วไป ข้อมูลสินค้า ข้อมูลที่อยู่ ปกติแล้วการพัฒนาระบบงาน เราหลีกเลี่ยงไม่ได้ที่จะต้องบันทึกข้อมูลที่เราทำไว้เพื่อเรียกมาใช้ในภายหลังครับ ไม่อย่างใดก็อย่างหนึ่ง ทั้งการบันทึกเพื่อการตรวจสอบ หรือบันทึกเพื่อมาทำต่อภายหลัง แม้กระทั่งเพื่อจะต่อข้อมูลจากระบบหนึ่งข้ามไปสู่ระบบอื่นๆ การบันทึกและอ่านไฟล์ลงใน หน่วยความจำโดยตรง ก็เป็นอีกวิธีการหนึ่งที่นิยมเพราะง่ายและทำได้โดยลำพังไม่ต้องการการเชื่อมหรือติดตั้ง Service ใดๆเพิ่มเติมอีก ผมจึงนำเสนอวิธีการในการบันทึกข้อมูลลงไฟล์ .csv ครับ
CSV คืออะไร? Text File ที่มีการใช้เครื่องหมายลูกน้ำ เพื่อทำการแบ่งข้อมูลในแบบตาราง ทั้งคอลัมน์(แนวตั้ง)เเละเว้นบรรทัดแทนแถว(แนวนอน) สามารถสร้างเเละแก้ไขได้ Microsoft Excel

ในการสร้างและอ่านไฟล์ CSV จะมีฟังก์ชัน 2 ตัวครับ คือ

fputcsv() - เขียนเป็นไฟล์แบบ CSV
fgetcsv() - อ่านไฟล์แบบ CSV


ตัวอย่าง => ในบทความนี้จะทำวิธีการเขียนไฟล์ลง .csv

โค้ด: เลือกทั้งหมด

<?php
// ข้อมูลที่ต้องการเก็บ
$list = array( 
"10,Milk,40,บาท",
"11,Tea,60,บาท",
"12,Green tea,55,บาท",
);
// บันทึกข้อมูลลงไฟล์ contacts.csv
$file = fopen("test1.csv","w");
foreach ($list as $line){
   fputcsv($file,explode(',',$line));
}
// ปิดไฟล์
fclose($file); 
?>


ผลลัพธ์ก็จะได้ไฟล์ csv มา 1 ไฟล์ครับพอเปิดดูก็จะมีข้อมูลตามที่ได้เซ็ตไว้ครับ
Selection_999(304).png
Selection_999(304).png (57.33 KiB) เปิดดู 45 ครั้ง


อ้างอิง

1 http://codingremember.blogspot.com/2015/05/php-report-fputcsv.html
2 https://www.php.net/manual/en/function.fputcsv.php
3 http://www.thaiseoboard.com/index.php?topic=89280.0;wap2
If you fall, let you stand. :)

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 9 และ บุคคลทั่วไป 0 ท่าน