ข่าว IT ล่าสุด
ถูกใจอย่าลืม Like Fanpage
ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents
แสดงแล้ว 16155 ครั้ง /
ตุลาคม 02, 2010, 07:40

Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
ดึงหน้าเว็บมาแสดงง่ายๆด้วย การใช้ file_get_contents

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

ตัวอย่าง

โค๊ด: [Select]
<?php<br /> <br />$data=file_get_contents("http://it4x.com");<br /> <br />if ($data === false)<br /> <br />{<br /> &nbsp; // à¹à¸ªà¹à¸à¸³à¸ªà¸±à¹à¸à¸à¸µà¹à¸à¸µà¹à¸à¸£à¸à¸µà¸à¸¶à¸à¹à¸¡à¹à¹à¸à¹<br /> &nbsp;echo &#39;à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸ it4x à¹à¸¡à¹à¹à¸à¹&#39;;<br />}<br /> else<br />{<br /> &nbsp; // à¹à¸ªà¹à¸à¸³à¸ªà¸±à¹à¸à¸à¸µà¹à¸à¸µà¹ à¸à¸£à¸à¸µà¸à¸¶à¸à¹à¸à¹<br /> &nbsp; echo &#39;à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸ it4x à¹à¸à¹&#39;;<br />}<br />?>
แต่ถ้าอยากให้มัน แสดง ก็ echo $data; ดูครับ

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



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

« แก้ไขครั้งสุดท้าย: ตุลาคม 02, 2010, 07:56 โดย Moshi »

metal4x

ออฟไลน์
กระทู้ : 12
คะแนนขอบคุณ : 0
ตุลาคม 23, 2010, 22:38
หวัดดีครับคุณ 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 ต้องทำไงมั่งครับ..ช่วยผมหน่อย..ผมอยากรู้..ขอบคุณครับ

Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
ตุลาคม 24, 2010, 14:31
ถ้าถามว่าทำได้ไหมครับ ทำได้ แต่จะเขียนคร่าวๆ ให้ดูนะ ดัดแปลงเอา

เดียวมาเขียนนะ โพสข่าวเสร็จก่อน

Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
ตุลาคม 24, 2010, 15:22
อันนี้เขียนมาลวกๆ จริงๆมันมี function ที่เอาไว้ใช้เฉพาะอยู่ อิอิ

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

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

โค๊ด: [Select]
<?php <br /><br /><br /><span style="white-space: pre;"> </span>$data = file_get_contents("http://www.thailocaladmin.go.th/servlet/ElectronicBookServlet?EType=2&fpage=y");<br /><span style="white-space: pre;"> </span>$data = iconv(&#39;windows-874&#39;,&#39;UTF-8&#39;,$data);<br /><span style="white-space: pre;"> </span><br /><span style="white-space: pre;"> </span>$data = strstr($data,&#39;<tr bgcolor="#DBDBDB">&#39;);<br /><span style="white-space: pre;"> </span>$data = strstr($data,&#39;<table width="100%"&nbsp; border="0" cellspacing="1" cellpadding="1">&#39;);<br /><span style="white-space: pre;"> </span>$data = strstr($data,&#39;<tr height="30" bgcolor=&#39;#E3F5F9&#39; valign="middle" >&#39;);<br /><br /><br /><span style="white-space: pre;"> </span>while($i <= 20) {<br /><span style="white-space: pre;"> </span>$data = str_replace(&#39;<td width="3%"><div align="center"><img src="/images/icon5.gif" width="12" height="12"></div></td>&#39;,&#39;&#39;,$data);<br /><span style="white-space: pre;"> </span><br /><span style="white-space: pre;"> </span>&nbsp; ++$i;<br /><span style="white-space: pre;"> </span>}<br /><span style="white-space: pre;"> </span>$data = str_replace(&#39;href="/upload/document/&#39;,&#39;href="http://www.thailocaladmin.go.th/upload/document/&#39;,$data);<br /><span style="white-space: pre;"> </span>$content = explode(&#39;</table>&#39;, $data);<br /><span style="white-space: pre;"> </span><br /><span style="white-space: pre;"> </span>echo &#39;<table width="100%"&nbsp; border="0" cellspacing="1" cellpadding="1"> &#39;;<br /><span style="white-space: pre;"> </span>echo $content[0];<br /><span style="white-space: pre;"> </span><br />?>

metal4x

ออฟไลน์
กระทู้ : 12
คะแนนขอบคุณ : 0
ตุลาคม 25, 2010, 12:59
ขอบคุณสำหรับคำตอบ และความช่วยเหลือครับผม  ::)
« แก้ไขครั้งสุดท้าย: ตุลาคม 29, 2010, 00:49 โดย metal4x »

 

ด้วยฟังค์ชั่น ตอบด่วน คุณสามารถใช้โค๊ดและ เครื่องหมายแสดงอารมณ์ได้ เหมือนการตั้งกระทู้ธรรมดา แต่สามารถทำได้สะดวกกว่า

ระวัง: หัวข้อนี้ไม่มีการอัพเดทมานานถึง 120 วัน

แจ้งเตือน: โพสของคุณจะไม่แสดงจนกว่าผู้ดูแลจะอนุมัติ.
ชื่อ: อีเมล์: