วันนี้เอาวิธีการเซตค่า timeout ให้กับฟังก์ชัน file_get_contents ของ PHP มาฝาก ซึ่งปกติผมก็ไม่ได้มีการเซตค่า timeout สำหรับฟังก์ชันนี้เลย ซึ่งอาจจะทำให้ response time ของเว็บเราเยอะได้ จะส่งผลต่อ robot ของ search engine เอา โดยการเซตค่า timeout ให้ฟังก์ชัน file_get_contents เป็นการบอกให้ฟังก์ชันไม่ต้องรอต่อไป หาก url ที่เราดึงเนื้อหาไม่ยอม response ค่ากลับมาภายในเวลาที่เรากำหนด
//สร้าง stream context $context = stream_context_create(array( 'http' => array( 'timeout' => 3 // timeout มีหน่วยเป็นวินาที ) )); //ดึงเนื้อหาจากลิงค์ http://www.imooh.com $contents = file_get_contents('http://www.imooh.com', 0, $context); // ตรวจสอบว่ามีเนื้อหากลับมารึป่าว if (!empty($contents)) { //ถ้ามีจะทำอะไรกับเนื้อหา (ผม echo ออกไปเลยละกัน ^^) echo $contents; } else { //ถ้าไม่มีจะแสดงอะไร }
ฟังก์ชัน file_get_contents ยังมีลูกเล่นอีกเยอะครับ เดี๋ยวถ้ามีเวลาจะเอามาฝากอีกครับ ^^