IT4X เทคนิคคอมพิวเตอร์ โน๊ตบุค ข่าว IT

ข่าวสาร / ความรู้ => คนทำเว็บ => ข้อความที่เริ่มโดย: Moshi ที่ ตุลาคม 02, 2010, 07:40:26

หัวข้อ: ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 02, 2010, 07:40:26
ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents

      php นั้นมีคำสั่งที่น่าสนใจอีกอย่างนึงก็คือ การดูดหน้าเว็บนั่นเอง เป็นการดูดหน้าเว็บผ่านทาง url ครับ ประโยชน์ของมันนั้นมีมาก หากแต่ถ้าใช้ผิดวิธีเช่นไปดูดหน้าเว็บคนอื่นมาแสดงเป็นของตัวเอง หรือ ดูดหน้าบทความเค้าแล้วเอามาเป็นของตัวเอง นี่ก็ไม่สมควรทำนะครับ เลือกใช้ที่มันเป็นด้าน + ละกัน ก็ขอยกตัวอย่างดูดหน้าเว็บ it4x แล้วกันนะครับ

ตัวอย่าง

โค๊ด: [Select]
 
$data=file_get_contents("http://it4x.com");
 
if ($data === false)
 
{
   // ใส่คำสั่งที่นี่กรณีดึงไม่ได้
  echo 'ดึงหน้าเว็บ it4x ไม่ได้';
}
 else
{
   // ใส่คำสั่งที่นี่ กรณีดึงได้
   echo 'ดึงหน้าเว็บ it4x ได้';
}
?>

แต่ถ้าอยากให้มัน แสดง ก็ echo $data; ดูครับ

ลองประยุกต์ไปใช้งานดูครับ



ขอบคุณข้อมูลบางส่วนจาก : http://smokietorphp.d-ja.com/archives/74 (http://smokietorphp.d-ja.com/archives/74)
หัวข้อ: Re: ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents
เริ่มหัวข้อโดย: metal4x ที่ ตุลาคม 23, 2010, 22:38:44
หวัดดีครับคุณ Moshi ....(ผมอ่านด้านบนหมดแล้วนะครับ)

คือผมต้องการไปดึงข่าว+เว็บบอร์ดจากหน่วยงานราชการต้นสังกัด (คิดว่าคงไม่ผิดกติกา) มาแสดงบนหน้าเว็บหน่วยงานที่ผมทำครับ...ตามนี้ครับ

รายละเอียดคือ ผมต้องการดึงข่าว จาก2เว็บนี้ (ตามรูป1+2)

1.http://www.thailocaladmin.go.th/servlet/ElectronicBookServlet?EType=2&fpage=y (http://www.thailocaladmin.go.th/servlet/ElectronicBookServlet?EType=2&fpage=y)
(http://i944.photobucket.com/albums/ad289/metal2208/zone%20it2/5-9-255315-47-14.png)


2.http://www.surat-local.go.th/index.php (http://www.surat-local.go.th/index.php)
(http://i944.photobucket.com/albums/ad289/metal2208/zone%20it2/5-9-255315-55-32.png)



ดึงข่าวจากเว็บด้านบนไปลงเว็บหน่วยงานที่ผมทำให้  เอาไปลงในส่วนตามรูปด้านล่างนี้ครับ
(http://i944.photobucket.com/albums/ad289/metal2208/zone%20it2/5-9-255316-02-03.png)

ต้องทำยังไงครับ เพราะถ้าดึงของตัวเองก็พอไหวอยู่....แต่ไปดึงเว็บอื่นหนิ ใช้ file_get_contents ยังไงครับ

**(ไปดึงมา คงไม่ผิดกติกา เพราะพวกกรม/ราชการ ต้องการกระจายข่าวอยู่แล้ว)**
**(หน่วยงานแบบผมก็ดึงข่าวแบบนี้กันเยอะแยะ...แต่ดึงได้ง่ายเพราะ...บริษัทที่รับจ้างทำเป็นบริษัทเดียวกัน เลยดึงง่ายหน่อย)**

เว็บนี้คือหน่วยงานหลักที่อยากจะดึง....===>> http://www.surat-local.go.th/ (http://www.surat-local.go.th/)
ตย.เว็บที่ไปดึงเช่น ===>> http://www.takhamcity.go.th/index.php (http://www.takhamcity.go.th/index.php)   ....http://www.khuntalae.go.th/index.php (http://www.khuntalae.go.th/index.php)

ใช้ file_get_contents ต้องทำไงมั่งครับ..ช่วยผมหน่อย..ผมอยากรู้..ขอบคุณครับ
หัวข้อ: Re: ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 24, 2010, 14:31:31
ถ้าถามว่าทำได้ไหมครับ ทำได้ แต่จะเขียนคร่าวๆ ให้ดูนะ ดัดแปลงเอา

เดียวมาเขียนนะ โพสข่าวเสร็จก่อน
หัวข้อ: Re: ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents
เริ่มหัวข้อโดย: Moshi ที่ ตุลาคม 24, 2010, 15:22:15
อันนี้เขียนมาลวกๆ จริงๆมันมี function ที่เอาไว้ใช้เฉพาะอยู่ อิอิ

แต่ให้ไม่ได้เพราะจะหมดทางหากินเอิกๆ

เขียนให้ดูเป็นตัวอย่างดัดแปลงแก้ไขต่อเอานะครับ

โค๊ด: [Select]


$data = file_get_contents("http://www.thailocaladmin.go.th/servlet/ElectronicBookServlet?EType=2&fpage=y");
$data = iconv('windows-874','UTF-8',$data);

$data = strstr($data,'');
$data = strstr($data,'');
$data = strstr($data,'');


while($i <= 20) {
$data = str_replace('','',$data);

  ++$i;
}
$data = str_replace('href="/upload/document/','href="http://www.thailocaladmin.go.th/upload/document/',$data);
$content = explode('
', $data);

echo ' ';
echo $content[0];

?>
หัวข้อ: Re: ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents
เริ่มหัวข้อโดย: metal4x ที่ ตุลาคม 25, 2010, 12:59:24
ขอบคุณสำหรับคำตอบ และความช่วยเหลือครับผม  ::)