我們?yōu)g覽一些網(wǎng)站的時(shí)候,往往看到一些新聞是剛剛更新不久的,假如要是人工維護(hù)的話,那會(huì)是一項(xiàng)非常繁瑣的工作,然而,我們可以通過程序來控制實(shí)現(xiàn)更新操作,事情就會(huì)變得很方便了,我可不是要偷懶.
在這里,我使用PHP來實(shí)現(xiàn)這一功能。其原理就是根據(jù)新聞發(fā)布的時(shí)間逆序排列好,然后在一頁面顯示新聞連接列表,每一個(gè)連接都對應(yīng)一條新聞內(nèi)容網(wǎng)頁。具體操作如下:
一、首先,在你的站點(diǎn)下建立一個(gè)目錄,將編輯好的新聞頁都保存在此目錄下,將來所有的新聞頁都放入這里,方便維護(hù)。新聞頁格式為超文本方式(可別說你還不會(huì)HTML),首行為“<HTML><HEAD><TITLE>新聞標(biāo)題</TITLE></HEAD>”(原因隨后解釋,一定要在同一行啊!)。
二、編寫程序,實(shí)現(xiàn)新聞自動(dòng)更新功能(假設(shè)文件名為paixu.php),源程序如下:
- <?php
- $fp=array("filename"=>"","filetime"=>"","firstline"=>"");//建立數(shù)組,保存文件名、文件首行
- $dd=dir('新聞保存目錄');//讀取新聞文件的保存目錄
- $i=0;
- clearstatcache();
- while ($file=$dd->read())//循環(huán)讀出目錄中的文件
- {
- if(is_file($dd->path."/".$file))
- {
- $fp[$i]["filename"]=$dd->path."/".$file;//保存文件名
- $fr=fopen($dd->path."/".$file,"r");
- $fp[$i]["firstline"]=fgetss($fr,60);//去除HTML標(biāo)記后保存文件首行(也就是為什么我們要把新聞頁首行寫成要求的格式)
- fclose($fr);
- if($time=date("Y m d H:i",filemtime($dd->path."/".$file)))//保存文件時(shí)間,以此作為排序條件
- {
- $fp[$i]["filetime"]=$time;
- }
- $i ;
- }
- }
- $i=count($fp);//保存文件數(shù)
- $i-=4;
- for($j=0;$j<$i;$j )//按照冒泡算法排序
- for($k=$i;$k>$j;$k--)
- if($fp[$j]["filetime"]<=$fp[$k]["filetime"])
- {
- $c=$fp[$j]["filetime"];
- $fname=$fp[$j]["filename"];
- $fcontent=$fp["$j"]["firstline"];
- $fp[$j]["filetime"]=$fp[$k]["filetime"];
- $fp[$j]["filename"]=$fp[$k]["filename"];
- $fp[$j]["firstline"]=$fp[$k]["firstline"];
- $fp[$k]["filetime"]=$c;//line30
- $fp[$k]["filename"]=$fname;
- $fp[$k]["firstline"]=$fcontent;
- }
- for($i=0;$i<=(count($fp)-4);$i )//讀取保存的文件信息,做好相應(yīng)連接
- {
- echo "<tr><td>";
- echo "<a href=".$fp[$i]["filename"].">".$fp[$i]["firstline"]."</a>";
- echo "</td><td class=font1>";
- echo "(".$fp[$i]["filetime"].")<br>n";
- echo"</td></tr>";
- }
- $dd->close();
- ?>
三、將程序和目錄放到你的網(wǎng)站上,然后在瀏覽器敲入HTTP://網(wǎng)站名/目錄/panxu.php,能看到嗎?
本程序僅僅提供了基本的功能,你可以增加更多的控制功能,還有頁面的修飾和美化等工作,就要靠你自己了。
新聞熱點(diǎn)
疑難解答