ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents

ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents

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

ตัวอย่าง

<?php

$data=file_get_contents("http://it4x.com&quot;);

if ($data === false)

{
  // ใส่คำสั่งที่นี่กรณีดึงไม่ได้
 echo 'ดึงหน้าเว็บ it4x ไม่ได้';
}
else
{
  // ใส่คำสั่งที่นี่ กรณีดึงได้
  echo 'ดึงหน้าเว็บ it4x ได้';
}
?>


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

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



ขอบคุณข้อมูลบางส่วนจาก : http://smokietorphp.d-ja.com/archives/74

💬 การตอบกลับ 4

#1
metal4x
metal4x
12 โพสต์
หวัดดีครับคุณ Moshi ....(ผมอ่านด้านบนหมดแล้วนะครับ)

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

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

1.http://www.thailocaladmin.go.th/servlet/ElectronicBookServlet?EType=2&fpage=y



2.http://www.surat-local.go.th/index.php




ดึงข่าวจากเว็บด้านบนไปลงเว็บหน่วยงานที่ผมทำให้  เอาไปลงในส่วนตามรูปด้านล่างนี้ครับ


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

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

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

ใช้ file_get_contents ต้องทำไงมั่งครับ..ช่วยผมหน่อย..ผมอยากรู้..ขอบคุณครับ
#2
Moshi
Moshi
16,996 โพสต์
ถ้าถามว่าทำได้ไหมครับ ทำได้ แต่จะเขียนคร่าวๆ ให้ดูนะ ดัดแปลงเอา

เดียวมาเขียนนะ โพสข่าวเสร็จก่อน
#3
Moshi
Moshi
16,996 โพสต์
อันนี้เขียนมาลวกๆ จริงๆมันมี function ที่เอาไว้ใช้เฉพาะอยู่ อิอิ

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

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

<?php 


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

$data = strstr($data,'<tr bgcolor="#DBDBDB">');
$data = strstr($data,'<table width="100%"  border="0" cellspacing="1" cellpadding="1">');
$data = strstr($data,'<tr height="30" bgcolor='#E3F5F9' valign="middle" >');


while($i <= 20) {
$data = str_replace('<td width="3%"><div align="center"><img src="/images/icon5.gif" width="12" height="12"></div></td>','',$data);

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

echo '<table width="100%"  border="0" cellspacing="1" cellpadding="1"> ';
echo $content[0];

?>

#4
metal4x
metal4x
12 โพสต์
ขอบคุณสำหรับคำตอบ และความช่วยเหลือครับผม  ::)

✏️ แก้ไขล่าสุด: 29 ตุลาคม 2553