วันจันทร์ที่ 29 พฤศจิกายน พ.ศ. 2553

เทคนิคการใช้ SSI สั่งให้ CGI ทำงานและ Include File

       SSI ย่อมมาจาก ( Server Side Includes) เทคนิคนี้นิยมใข้กันมาก โดยเว็บเราเองก็ใช้ โดยปกติการใช้ SSI นั้นจะต้องอยู่บน File นามสกุล .shtml หรือ .asp แต่สำหรับ .asp นั้นจะใช้บางคำสั่งไม่ได้ อย่าพึงอ่านแล้วงง กำลังจะอธิบายให้ฟังครับ SSI เป็นเหมือนการเขียน Code แทรกไปในคำสั่ง HTML โดย Code นั้นไม่จำเป็นต้อง Execute (ประมวลผล) โปรแกรม จะคล้ายๆการทำงานของ ASP (Active Server Pages) คือการแทรก Script ลงใน HTML เรียกกันว่า Server Side Scripts มาดูตัวอย่างกันดีกว่า
แสดงวันที่ปัจจุบันของ Server <!–#echo var=”DATE_LOCAL” –>
ผลลัพธ์
แสดงวันที่ปัจจุบันของ Server
อย่าพึงงงนะทีวันที่ไม่ตรง พอดีเราใช้ Host ที่อยู่เมืองนอกเวลาเลยเป็นของเมืองนอกนะก็จะเป็นแบบนี้ หรือนิยมใช้มากคือการใช้ Include นั้นคือ สมมุติว่าเว็บของท่านมีส่วนของด้านบนของเว็บเหมือนกันหมดในทุกๆหน้า ท่านก็สามารถเก็บ Code HTML ในส่วนของด้านบนไว้ใน File นึงและใช้ SSI เรียกขึ้นมา ก็จะทำให้ท่านไม่จำเป็นของเขียน Code นั้นซ้ำๆกันในทุกๆหน้าเพียงแต่เรียก File ที่เก็บไว้มา อย่าพึงงงดูตัวอย่างกัน
<a href=”/menu1.shtml”>เมนูที่ 1</a><br>
<a href=”/menu2.shtml”>เมนูที่ 2</a><br>
<a href=”/menu3.shtml”>เมนูที่ 3</a><br>
<a href=”/menu4.shtml”>เมนูที่ 4</a><br>
<a href=”/menu5.shtml”>เมนูที่ 5</a><br>
สมมุติว่าเว็บท่านมีเมนูด้านข้างเหมือนกันหมดคืออย่างข้างบน เราก็เอา Code ดังกล่าวเก็บไว้ใน File นึงสมมุติว่าเป็น menu.inc และในทุกหน้าของเว็บเมื่อต้องการเขียน Code ส่วนของตรงนี้ก็ให้ใส่ใช้
<!–#include virtual=”/menu.inc” –> แทนจะเห็นว่าทำให้ท่านสะดวกในการ update ด้วยเวลาแก้ท่านก็แก้ที่ File menu.inc เท่านั้นก็ทำให้เมนูแก้หมดในทุกหน้า โดยทั่วไปก็อาจจะไม่น้อยอย่างนี้นะก็จะเยอะกว่านี้ก็ทำให้ประหยัดเนื้อที่ เก็บเว็บไซต์ได้อีก เพียง File เดียวเห็นไหมครับประโยชน์มหาศาล
อีกส่วนหนึ่งที่นักพัฒนามักใช้กันมากนั้นคือการรัน CGI โดยใช้ SSI (ใช้กับ .asp ไม่ได้นะ) ปกติแล้วเวลามีการเรียกใช้ Perl นั้นท่านต้องเรียก .cgi หรือ .pl โดยตรงใช่ไหม แต่ถ้าใช้ SSI ท่านไม่จำเป็นต้องทำอย่างนั้นเพียงใช้คำสั่งด้านล่างนี้
<!–#exec cgi=”/cgi-bin/ชื่อ file.cgi” –>
ก็จะทำให้ CGI ตัวนั้นทำงาน โดย CGI ที่ท่านเขียนไว้อาจจะเป็นแสดงวันที่ หรือเป็น Webboard ก็ได้แต่ต้องดูด้วยนะครับว่า Web Hosting ที่ท่านใช้ลองรับการทำงานหรือเปล่า เพราะบางทีเขาจะไม่ให้ใช้ในส่วนของ exec เพราะมันจะทำอะไรได้หลายๆอย่าง อันตรายต่อ Server เขาว่างั้น
ขอบคุณบทความดีๆจาก http://www2.twebmaster.com

ขอเสริมนิดหนึ่งคือ ที่เขาไม่ค่อยนิยมให้รันเพราะว่ามันเป็นการเปิดให้สามารถ รันคำสั้ง บนระบบปฏิบัติการได้ จนสามารถคบคุม การทำงานได้ จึงไม่ค่อยมีโฮล์พวกนี้ ด้วย

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

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