1. ใช้ฟังก์ชั่น file_get_contents(“http://www.livescore.com”);
2. ใช้ฟังก์ชั่น socket คือ fsockopen(“http://www.livescore.com”, “80″);
3. วิธีสุดท้ายซึ่งเป็นวิธีที่ผมคิดว่าดีที่สุด คือใช้ ฟังก์ชั่นของ CURL วิธีนี้มีการใช้กันมากในเรื่องของการใช้ web service ใน PHP4
ข้อกำหนดพื้นฐานคือเว็บเซิร์ฟเวอร์ที่ใช้ทำต้องเปิดให้ใช้งาน extension curl ซะก่อน สำหรับคนที่เช่าโฮสต์ ก็เขียนเมลบอกให้ แอ็ดมินเปิดให้ก็ได้, สำหรับคนที่จะลองกับเว็บเซิร์ฟเวอร์ในเครื่องที่บ้าน ให้ไปแก้ไขไฟล์ php.ini หาคำว่า “;extension=php_curl.dll” ให้เอา “;” ออก แล้วทำการรีสตาร์ท apache ใหม่
ต่อไปมาดูกันว่า extension curl ได้ถูกเปิดใช้หรือยัง ให้ไปไปดูไฟล์ PHPINFO จะเห็นตามรูปด้านล่างนี้
หลังจากทุกอย่างเรียบร้อยแล้ว ที่นี่เราจะมาเขียนเก็บคอนเท็นต์จาก livescore.com กัน Go Go!!
หลังจากทุกอย่างเรียบร้อยแล้ว ที่นี่เราจะมาเขียนเก็บคอนเท็นต์จาก livescore.com กัน Go Go!!
[code lang="php"]
function getWebContent( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_USERAGENT => "spider",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10,
);
$ch = curl_init( $url );function getWebContent( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_USERAGENT => "spider",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10,
);
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
$referer ="http://www.livescore.com";
$content =getWebContent($referer);
print "
"; print_r($content); ?> [/code]This eค่าที่ content ของเว็บไซต์ที่รีเทิร์นกลับมาจะอยู่ในตัวแปร $content['content'] ฟังก์ชั่นนี้ถ้านำไปประยุกต์จะมีประโยชน์มากมายครับ
0 comments:
Post a Comment