สอบถามการเขียนPHP เพื่อดึงข้อมูลข่าวจากเวป มาเป็น text file
ใช้พวก fwrite ครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & writefile</title>
</head>
<body>
<?
$strFileName = "thaicreate.txt";
$objFopen = fopen($strFileName, 'w');
$strText1 = "I Love ThaiCreate.Com Line1\r\n";
fwrite($objFopen, $strText1);
$strText2 = "I Love ThaiCreate.Com Line2\r\n";
fwrite($objFopen, $strText2);
$strText3 = "I Love ThaiCreate.Com Line3\r\n";
fwrite($objFopen, $strText3);
if($objFopen)
{
echo "File writed.";
}
else
{
echo "File can not write";
}
fclose($objFopen);
?>
</body>
</html>
Go to : PHP fopen(),fwrite() write text file
Date :
2012-02-14 14:00:13
By :
webmaster
ลองใช้พวก iframe ก็ได้ครับ
Date :
2012-02-14 16:49:08
By :
webmaster
ยกตัวอย่างให้หน่อยได้ไหมคะ พอดีไม่ถนัด PHP เลย
Date :
2012-02-14 17:09:35
By :
monkey
ถ้าไม่ถนัด php ก็ใช้ iframe แบบ mr.win ว่าก็ได้ อาศัยเทคนิคการจัดหน้าให้เห็นเฉพาะส่วนข่าว
แต่ถ้าจะให้ดึงเฉพาะข่าวมา ไม่เอาส่วนอื่น ผมใช้วิธี file_get_contains() หน้านั้นทั้งหน้า จะได้เป็นโค๊ด html มา แล้วก็เอามาตัด หันให้เหลือเฉพาะส่วนที่ต้องการ
ตัวอย่างประมาณนี้
Code (PHP)
<?php
$ch = curl_init(); // เปิดใช้ curl
$data = array('query' => $ip); // ตัวแปร+ค่า
curl_setopt($ch, CURLOPT_URL, 'http://www.iplocation.net/tools/ip-locator.php'); // ส่งค่า POST เข้าไปที่เว็บนี้ พอดีเว็บนี้รับค่าเฉพาะ POST เลยใช้คำสั่ง curl
curl_setopt($ch, CURLOPT_POST, 1); // ส่งแบบ POST
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); // ส่งค่ากลับมาไว้ใน $ch
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // ใส่ตัวแปร+ค่า
$x = curl_exec($ch); // สั่งให้ทำงาน ซึ่งจะได้เป็นโค๊ด html มา
$replace = str_replace("src='/tools/ip2location/flags","@CUT@",$x); // ค้นหาและแทนที่ src='/tools/ip2location/flags ดัวย @CUT@
$string = explode("@CUT@",$replace); // มาตัดตามตำแหน่งที่ทำไว้ คือ @CUT@ ซึ่งจะได้ตัวแปรที่เก็บค่าที่ต้องการ
$getCity = explode("</td><td>",$string[1]); //แล้วมาตัดอีกที $getCity[2] , $getCity[count($getCity)-1] เป็นค่าที่ได้
return 'จาก : <span style="color:red; font-weight:normal">'.$getCity[2].'</span> ประเทศ : <span style="color:red; font-weight:normal">'.$getCity[count($getCity)-1].'</span>';
?>
เป็นโค๊ดที่ส่งค่า ip ไปเช็คว่า ip นั้นมาจากเมืองไหน ประเทศอะไร ที่เว็บ http://www.iplocation.net/tools/ip-locator.php ได้ค่ามาก็มาตัดเอาแค่ชื่อเมืองและชื่อประเทศ เอาไปใช้ได้ครับ
ถ้าไปเอาข่าว ก็ใช้ file_get_contains("เว็บที่จะไปเอา") แล้ว echo ค่าที่ได้ออกมา แล้วมาตัดส่วนที่จะเอา
ยากเหมือนกันแต่ก็ไม่เกินกำลัง
ประวัติการแก้ไข 2012-02-14 17:40:40
Date :
2012-02-14 17:34:52
By :
randOmizE
มีตัวอย่างเพิ่มเติมไหมคะ
ขอบคุณคะ
Date :
2012-02-19 22:36:50
By :
monkey
Load balance : Server 02