ASP Lecture Series (14) มีไฟล์
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-05-30 19:58:52
คำสั่ง SSI ช่วยให้ผู้ใช้มีวิธีแทรกเนื้อหาของไฟล์หนึ่งไปยังอีกไฟล์หนึ่งก่อนที่จะประมวลผลโดยเว็บเซิร์ฟเวอร์ ASP ใช้คำสั่ง #include สำหรับกลไกนี้เท่านั้น หากต้องการแทรกไฟล์ลงในไฟล์ .asp ให้ใช้ไวยากรณ์ต่อไปนี้:
<!--#include เสมือน | . ไฟล์ ="ชื่อไฟล์"-->
คำสำคัญเสมือนและไฟล์ระบุประเภทของเส้นทางที่ใช้ในการรวมไฟล์ และชื่อไฟล์คือเส้นทางและชื่อของไฟล์ที่คุณต้องการรวม
ไฟล์ที่รวมไว้ไม่จำเป็นต้องมีนามสกุลไฟล์เฉพาะเจาะจง อย่างไรก็ตาม แนวทางปฏิบัติที่ดีในการเขียนโปรแกรมคือให้นามสกุล .inc เพื่อแยกความแตกต่างจากไฟล์ประเภทอื่นๆ
การใช้คำสำคัญเสมือน ใช้คำสำคัญเสมือนเพื่อระบุว่าเส้นทางเริ่มต้นในไดเร็กทอรีเสมือน ตัวอย่างเช่น หากไฟล์ชื่อ Footer.inc เป็นของไดเร็กทอรีเสมือนชื่อ /Myapp บรรทัดต่อไปนี้จะแทรกเนื้อหาของ Footer.inc ลงในไฟล์ที่มีบรรทัดนั้น:
<!--#include เสมือน ="/myapp/footer.inc"-->
การใช้คำสำคัญของไฟล์ ใช้คำสำคัญของไฟล์เพื่อระบุการใช้เส้นทางสัมพัทธ์ เส้นทางสัมพัทธ์เริ่มต้นจากไดเร็กทอรีที่มีไฟล์รวม ตัวอย่างเช่น หากไฟล์ของคุณอยู่ในไดเร็กทอรี Myapp และไฟล์ Header1.inc อยู่ใน MyappHeaders บรรทัดต่อไปนี้จะแทรก Header1.inc ลงในไฟล์ของคุณ:
<!--#include file ="headers/header1.inc"-->
โปรดทราบว่าเส้นทางไปยังไฟล์ Headers/header1.inc ที่รวมไว้นั้นสัมพันธ์กับไฟล์ที่รวมไว้ หากสคริปต์ที่มีคำสั่ง #include ไม่ได้อยู่ในไดเร็กทอรี /Myapp คำสั่งนั้นจะไม่มีผลกระทบ
หากเลือกตัวเลือก "เปิดใช้งานไดเร็กทอรีด้านบน" ใน Internet Services Manager คุณยังสามารถใช้คีย์เวิร์ดของไฟล์และ ../ ไวยากรณ์เพื่อรวมไฟล์ในไดเร็กทอรีหลัก ซึ่งก็คือไดเร็กทอรีด้านบน
ตำแหน่งของไฟล์ที่รวมไว้ ไฟล์ที่รวมไว้สามารถอยู่ในไดเร็กทอรีภายในเว็บไซต์ของคุณหรือภายนอกเว็บไซต์ของคุณ โดยทั่วไป คุณควรมีไฟล์ที่รวมอยู่ในไดเร็กทอรีของเว็บไซต์ของคุณ หากไฟล์ที่รวมอยู่ภายในเว็บไซต์ของคุณ การเปลี่ยนแปลงในไฟล์ที่รวมไว้จะปรากฏขึ้นในครั้งถัดไปที่เบราว์เซอร์ร้องขอไฟล์ที่รวมไว้ อย่างไรก็ตาม หากไฟล์ที่รวมอยู่ภายนอกเว็บไซต์ของคุณ การเปลี่ยนแปลงจะไม่สะท้อนให้เห็นจนกว่าจะรีสตาร์ทแอปพลิเคชัน ASP หรือเว็บเซิร์ฟเวอร์ถูกรีสตาร์ท ASP ตรวจพบการเปลี่ยนแปลงในไฟล์ใด ๆ ที่รวมอยู่ในเนมสเปซของแอปพลิเคชัน (ภายใต้โฮมไดเร็กทอรีของแอปพลิเคชัน)
ไฟล์ที่รวมไว้: คำแนะนำและคำเตือน ไฟล์ที่รวมไว้สามารถรวมไฟล์อื่นๆ ได้ด้วย ไฟล์ .asp สามารถรวมไฟล์เดียวกันได้หลายครั้ง หากคำสั่ง #include ไม่ทำให้เกิดการวนซ้ำ ตัวอย่างเช่น ถ้าไฟล์ First.asp มีไฟล์ Second.inc, Second.inc จะต้องไม่มี First.asp ไฟล์ไม่สามารถมีตัวเองได้ ASP ตรวจพบข้อผิดพลาดในการวนซ้ำหรือซ้อน และเมื่อตรวจพบ จะสร้างข้อความแสดงข้อผิดพลาดและหยุดการประมวลผลไฟล์ .asp ที่ร้องขอ
ASP รวมไฟล์ก่อนที่จะดำเนินการคำสั่งสคริปต์ ดังนั้นคุณจึงไม่สามารถใช้คำสั่งสคริปต์เพื่อสร้างชื่อของไฟล์ที่รวมไว้ได้ ตัวอย่างเช่น สคริปต์ต่อไปนี้จะไม่เปิด Header1.inc เนื่องจาก ASP ดำเนินการคำสั่ง #include ก่อนที่จะกำหนดชื่อไฟล์ให้กับชื่อตัวแปร
<!-- สคริปต์นี้จะล้มเหลว -->
<% ชื่อ=(ส่วนหัว1 & ".inc") %>
<!--#include file="<%= ชื่อ %>"-->
คำสั่งและขั้นตอนของสคริปต์จะต้องอยู่ภายในตัวคั่นสคริปต์ทั้งหมด <% และ %> แท็ก HTML <SCRIPT> และ </SCRIPT> หรือแท็ก HTML <OBJECT> และ </OBJECT> นั่นคือคุณไม่สามารถเปิดตัวคั่นสคริปต์ในไฟล์ .asp include แล้วปิดในไฟล์ที่รวมไว้ได้ สคริปต์หรือคำสั่งสคริปต์จะต้องเป็นหน่วยที่สมบูรณ์ ตัวอย่างเช่น สคริปต์ต่อไปนี้จะไม่ทำงาน:
<!-- สคริปต์นี้จะล้มเหลว -->
-
สำหรับฉัน = 1 ถึง n
คำสั่งในไฟล์หลัก
<!--#include file="header1.inc" -->
ต่อไป
-
สคริปต์ต่อไปนี้จะทำงานตามปกติ:
-
สำหรับ i = 1 ถึง n
คำสั่งในไฟล์หลัก
-
<!--#include file="header1.inc" -->
<% ถัดไป %>