|
我们浏览一些网站的时候,往往看到一些新闻是刚刚更新不久的,如果要是人工维护的话,那会是一项非常繁琐的工作。然而,我们可以通过程序来控制实现更新操作,事情就会变得很方便了(我可不是要偷懒)。 <BR><BR> 在这里,我使用PHP来实现这一功能。其原理就是根据新闻发布的时间逆序排列好,然后在一页面显示新闻连接列表,每一个连接都对应一条新闻内容网页。具体操作如下: <BR><BR> 一、首先,在你的站点下建立一个目录,将编辑好的新闻页都保存在此目录下,将来所有的新闻页都放入这里,方便维护。新闻页格式为超文本方式(可别说你还不会HTML),首行为“<HTML><HEAD><TITLE>新闻标题</TITLE></HEAD>”(原因随后解释,一定要在同一行啊!)。 <BR><BR> 二、编写程序,实现新闻自动更新功能(假设文件名为paixu.php) <BR><BR> 源程序如下: <BR><BR><?php <BR>$fp=array("filename"=>"","filetime"=>"","firstline"=>"");//建立数组,保存文件名、文件首行 <BR>$dd=dir('新闻保存目录');//读取新闻文件的保存目录 <BR>$i=0; <BR>clearstatcache(); <BR>while ($file=$dd->read())//循环读出目录中的文件 <BR>{ <BR>if(is_file($dd->path."/".$file)) <BR>{ <BR>$fp[$i]["filename"]=$dd->path."/".$file;//保存文件名 <BR>$fr=fopen($dd->path."/".$file,"r"); <BR>$fp[$i]["firstline"]=fgetss($fr,60);//去除HTML标记后保存文件首行(也就是为什么我们要把新闻页首行写成要求的格式) <BR>fclose($fr); <BR>if($time=date("Y m d H:i",filemtime($dd->path."/".$file)))//保存文件时间,以此作为排序条件 <BR>{ <BR>$fp[$i]["filetime"]=$time; <BR>} <BR>$i++; <BR>} <BR>} <BR>$i=count($fp);//保存文件数 <BR>$i-=4; <BR>for($j=0;$j<$i;$j++)//按照冒泡算法排序 <BR>for($k=$i;$k>$j;$k--) <BR>if($fp[$j]["filetime"]<=$fp[$k]["filetime"]) <BR>{ <BR>$c=$fp[$j]["filetime"]; <BR>$fname=$fp[$j]["filename"]; <BR>$fcontent=$fp["$j"]["firstline"]; <BR>$fp[$j]["filetime"]=$fp[$k]["filetime"]; <BR>$fp[$j]["filename"]=$fp[$k]["filename"]; <BR>$fp[$j]["firstline"]=$fp[$k]["firstline"]; <BR>$fp[$k]["filetime"]=$c;//line30 <BR>$fp[$k]["filename"]=$fname; <BR>$fp[$k]["firstline"]=$fcontent; <BR>} <BR>for($i=0;$i<=(count($fp)-4);$i++)//读取保存的文件信息,做好相应连接 <BR>{ <BR>echo "<tr><td>"; <BR>echo "<a href=".$fp[$i]["filename"].">".$fp[$i]["firstline"]."</a>"; <BR>echo "</td><td class=font1>"; <BR>echo "(".$fp[$i]["filetime"].")<br>\n"; <BR>echo"</td></tr>"; <BR>} <BR>$dd->close(); <BR>?> <BR><BR> 三、将程序和目录放到你的网站上,然后在浏览器敲入HTTP://网站名/目录/panxu.php,能看到吗? <BR><BR> 本程序仅仅提供了基本的功能,你可以增加更多的控制功能,还有页面的修饰和美化等工作,就要靠你自己了。 <BR><BR> |
|