Output Buffer
output buffer เป็นการใส่ข้อมูลลงใน buffer ก่อนที่ php จะส่งข้อมูล ถ้าไม่ใส่ข้อมูลลงใน
buffer ก่อน php จะส่งข้อมูลทันที
สามารถใช้ buffer ได้ 2 วิธีคือ php.ini และ การใช้ฟังก์ชัน
การใช้ php.ini ทำให้scriptทั้งหมดใช้ output buffer แต่การใช้ฟังก์ชันจะอิสระกว่าคือใช้เฉพาะscript่ส่วนที่ผู้ใช้ต้องการใช้ได้
ฟังก์ชันที่สำคัญคือ
ob_start()
ob_end_flush()
ob_end_clean()
ตัวอย่าง
ob_start();
print("Test 1\n");
ob_end_flush()
จากตัวอย่างเป็นการพิมพ์คำว่า Test1
จะไม่พิมพ์ในทันทีที่มีคำสั่ง print เมื่อเจอ ob_end_flush() จึงทำการพิมพ์กักการทำงานไว้ใน
buffer ก่อน
ตัวอย่าง
ob_start();
print("Test 1\n");
ob_end_clean()
จากตัวอย่างฟังก์ชัน ob_end_clean() จะทำการลบข้อมูลใน buffer ทำให้ไม่มีการพิมพ์
Test1
ประโยชน์ของ output buffer เช่น
สามารถที่จะใช้ output buffer เก็บข้อมูลที่ query มาจากฐานข้อมูล แล้วเขียนลงใน
file ที่สร้างขึ้นมาได้
menu php