เซตเวลาในการติดต่อกับเวปอื่น
ในการเขียนเวปไซด์ บ้างครั้งเรามีความเป็นที่จะต้องนำข้อมูลของที่อื่น มาแสดงในเวปของเรา
โดยที่ไม่ใช่แบบ iframe แต่ใช้ ฟังก์ชั่น ของ php เช่น fopen() หรือ file_get_contents()
ซึ่งวิธีนี้ ข้อดีคือ เราสามารถกำหนดรูปแบบในการแสดงผลได้ แต่ข้อเสียคือ ถ้าเวปที่เราไปเอา
ข้อมูลมาไม่สามารถเข้าได้ หรือพูดง่ายๆ คือ เวปล่ม และจะทำให้เวปเราล่มไปด้วย
แต่มีวิธีแก้ไข คือเราจะต้องไปกำหนเวลาในการติดต่อ ถ้าหมดเวลาตามที่เรากำหนดก็ให้ยกเลิกการติดต่อ
โดยใช้คำสั่งนี้
1 | ini_set('default_socket_timeout',$time) |
โดยที่
$time = เวลาที่ใช้ในการให้ติดต่อ หน่วยเป็น วินาที
ปล. ขอแนะนำว่าหลังจากใช้ ฟังก์ชั่นนี้แล้วให้เซตค่ากลับด้วย
ซึ่งค่าปกติคือ 60 วินาที
วิธีแนะนำโดย โอ@WLS
วิธีการ Query เพิ่ม ลด วันเวลา
ในการทำงานบางครั้งเราจำเป็นที่จะต้อง query db โดยการเพิ่มหรือลด วันเวลา
สมมุติว่า
” เราต้องการจะได้ทราบว่า banner ของเวปเราที่จะหมดอายุในอีก 7 วันข้างหน้า มี banner อะไรบ้าง ”
เราก็จะสามารถเขียน query ได้ดังนี้
วิธีการส่งค่าไปใน setTimeout()
ผมเคยเขียนโปรแกรม แล้วต้องการหน่วงฟังก์ชั่นการทำงาน แต่ต้องการส่งค่าตัวแปร ไปในฟังก์ชั่นนั้นด้วย
ซึ่งผมก็หาวิธีตั้งมากมาย แล้วก็หาไม่เจอซักที แต่สุดท้ายก็รู้จนได้
นั้นก็คือ
1 2 3 4 5 | <script type="text/javascript"> var bTime=4000; // หมายถึง หน่วงเวลาไว้ 4 วินาที var bVal="rotateimage('"+obj+"')"; setTimeout(eval(bVal),bTime); </script> |
โดยที่
bTime คือ ค่าที่ใช้หน่วงโปรแกรม หน่วยคือ มิลลิวินาที (10-3)
rotateimage คือ ชื่อ function ที่เรียกใช้
obj คือ ตัวแปรที่ต้องการส่งไป
ต้องขอขอบคุณน้อง ATT@MKT ด้วยที่แนะนำวิธีนี้

