วันนี้เอาวิธีการเซตค่า 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 ยังมีลูกเล่นอีกเยอะครับ เดี๋ยวถ้ามีเวลาจะเอามาฝากอีกครับ ^^