วันศุกร์ที่ 1 มิถุนายน พ.ศ. 2555

Include File


Server Side Includes (SSI) เป็นการใช้ไฟล์แทรกไฟล์ เพื่อประหยัดเวลาในการเขียนสคริปต์ที่ซ้ำๆกัน

คุณสามารถแทรกเนื้อหาของไฟล์เข้าไปในไฟล์อื่นๆ ก่อนที่เซิร์ปเวอร์จะประมวลผลด้วยฟังก์ชั่น include() หรือ require() ทั้ง 2 ฟังก์ชั่นนี้ใช้เหมือนกันทุกอย่าง ยกเว้นอย่างเดียว เมื่อมีความผิดพลาดเกิดขึ้น โดยฟังก์ชั่น include() จะแสดงคำเตือนแต่สคริปต์อื่นๆ ยังดำเนินการต่อไป ขณะที่ฟังก์ชั่น require() จะเกิด fatal error และจะหยุดสคริปต์ทำงานทันที

ฟังก์ชั่นนี้ถูกใช้สร้างทั้งฟังก์ชั่น, headers, footers, อีลิเมนต์ ที่จะใช้เหมือนกันหลายๆ หน้า

นี่จะช่วยผู้พัฒนาเว็ปไซต์ลดเวลาได้มาก ถ้าหน้าเว็ปมีเนื้อหาที่เหมือนกัน เมื่อคุณต้องการแก้ไขสคริปต์ คุณเพียงแค่แก้ไขเพียงไฟล์เดียวเท่านั้น

ตัวอย่างข้างล่างนี้ สมมุติคุณมีไฟล์ส่วนของ header ชื่อว่า header.htm ที่จะรวมไฟล์ส่วนของ header ที่เหมือนกัน ที่ใช้กับทุกๆ หน้ากับไฟล์หน้าหลัก
<html>
<body>
<?php include("header.htm"); ?>
<p>
เนื้อหาเว็ป
</p>
<p>
เนื้อหาเว็ป
</p>
</body>
</html>

ในกรณีที่เกิดข้อผิดพลาดขึ้น เนื่องจากไม่มีไฟล์ที่รวมเข้าไป หรือพิมพ์ path ผิด จะแสดง error ดังนี้

สำหรับฟังก์ชั่น include()

Warning: include(header.htm) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Warning: include() [function.include]:
Failed opening 'header.htm' for inclusion
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5

รันสคริปต์ต่อไป
สำหรับฟังก์ชั่น require()

Warning: require(header.htm) [function.require]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Fatal error: require() [function.require]:
Failed opening required 'header.htm'
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5
ถ้าคุณไม่ต้องการให้สคริปต์รันต่อไปก็ใช้ฟังก์ชั่น require() แทนที่ฟังก์ชั่น include() เพราะว่าถ้ารันต่อไปอาจจะมี error เกิดขึ้นอีกตามมา

ไม่มีความคิดเห็น:

แสดงความคิดเห็น