PHP自动更新新闻DIY
我们浏览一些网站的时候,往往看到一些新闻是刚刚更新不久的,假如要是人工维护的话,那会是一项异常繁琐的工作。然而,我们可以通过程序来控制实现更新操作,事情就会变得很方便了(我可不是要偷懒)。
在这里,我使用PHP来实现这一功能。其原理就是根据新闻发布的时间逆序排列好,然后在一页面显示新闻连接列表,每一个连接都对应一条新闻内容网页。详细操作如下:
一、首先,在你的站点下建立一个目录,将编辑好的新闻页都保存在此目录下,将来所有的新闻页都放入这里,方便维护。新闻页格式为超文本方法(可别说你还不会HTML),首行为“<HTML><HEAD><TITLE>新闻标题</TITLE></HEAD>”(原因随后解释,一定要在同一行啊!)。
二、编写程序,实现新闻自动更新功能(假设文件名为paixu.php)
源程序如下:
<?php $fp=array("filename"=>"","filetime"=>"","firstline"=>"");//建立数组,保存文件名、文件首行 $dd=dir(\\'新闻保存目录\\');//读取新闻文件的保存目录 $i=0; clearstatcache(); while ($file=$dd->read())//循环读出目录中的文件 { 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标记后保存文件首行(也就是为什么我们要把新闻页首行写成要求的格式) fclose($fr); if($time=date("Y m d H:i",filemtime($dd->path."/".$file)))//保存文件时间,以此作为排序条件 { $fp[$i]["filetime"]=$time; } $i++; } } $i=count($fp);//保存文件数 $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++)//读取保存的文件信息,做好相应连接 { 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(); ?>
三、将程序和目录放到你的网站上,然后在浏览器敲入HTTP://网站名/目录/panxu.php,能看到吗?
本程序仅仅提供了基本的功能,你可以增加更多的控制功能,还有页面的修饰和美化等工作,就要靠你自己了。
返回类别: 教程 上一教程: 一个简朴的自动发送邮件系统(一) 下一教程: PHP中的正规表达式(二)
您可以阅读与"PHP自动更新新闻DIY"相关的教程: · PHP自动更新新闻DIY · PHP实现网页自动更新块 · 一个很简朴的PHP的后端脚本,能够从(某个网中)得到最新新闻。 · 用PHP+java实现自动新闻滚动窗口 · 是一个设计将LinuxFreak.org新闻标题放置到你的网站的PHP脚本程序。
|