Browsing articles tagged with " file_get_contents"
May 25, 2011
แว่นตก

cURL VS file_get_contents

รูปของเทคนิค cURL VS file_get_contents

ในการเรียกอ่านไฟล์ url ต่าง ๆ ในเวปมี 2 วิธีที่นิยมกัน
1. cURL
2. file_get_contents

ในวันนี้จะมาเปรียบเทียบความเร็วในการเรียกอ่้านไฟล์ทั้ง 2 วิธี

[1] => Array // 1 request to google.com
(
[FGC] => 0.4955058 // 38.88% slower
[CURL] => 0.3582108
)
[5] => Array // 5 requests to google.com
(
[FGC] => 2.2415568 // 24.44% slower
[CURL] => 1.7973249
)
[10] => Array // 10 requests to google.com
(
[FGC] => 4.7877922 // 29.46% slower
[CURL] => 3.6951289
)
[25] => Array // 25 requests to google.com
(
[FGC] => 10.932404 // 10.18% slower
[CURL] => 9.9168329
)
[50] => Array // 50 requests to google.com
(
[FGC] => 22.535982 // 24.74% slower
[CURL] => 18.068931
)
[100] => Array // 100 requests to google.com
(
[FGC] => 44.685283 // 18.57% slower
[CURL] => 37.688820
)

จากการที่ดูผลการทดสอบ สรุปว่า cURL ชนะเลิศ

May 25, 2011
แว่นตก

เซตเวลาในการติดต่อกับเวปอื่น

ในการเขียนเวปไซด์ บ้างครั้งเรามีความเป็นที่จะต้องนำข้อมูลของที่อื่น มาแสดงในเวปของเรา
โดยที่ไม่ใช่แบบ iframe แต่ใช้ ฟังก์ชั่น ของ php เช่น fopen() หรือ file_get_contents()
ซึ่งวิธีนี้ ข้อดีคือ เราสามารถกำหนดรูปแบบในการแสดงผลได้ แต่ข้อเสียคือ ถ้าเวปที่เราไปเอา
ข้อมูลมาไม่สามารถเข้าได้ หรือพูดง่ายๆ คือ เวปล่ม และจะทำให้เวปเราล่มไปด้วย

แต่มีวิธีแก้ไข คือเราจะต้องไปกำหนเวลาในการติดต่อ ถ้าหมดเวลาตามที่เรากำหนดก็ให้ยกเลิกการติดต่อ

โดยใช้คำสั่งนี้

1
ini_set('default_socket_timeout',$time)

โดยที่
$time = เวลาที่ใช้ในการให้ติดต่อ หน่วยเป็น วินาที

ปล. ขอแนะนำว่าหลังจากใช้ ฟังก์ชั่นนี้แล้วให้เซตค่ากลับด้วย
ซึ่งค่าปกติคือ 60 วินาที

 

วิธีแนะนำโดย โอ@WLS