PHP自动更新新闻DIY

      我的日志 2006-11-7 19:14
我们浏览一些网站的时候,往往看到一些新闻是刚刚更新不久的,如果要是人工维护的话,那会是一项非常繁琐的工作。然而,我们可以通过程序来控制实现更新操作,事情就会变得很方便了(我可不是要偷懒)。
 
  在这里,我使用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>
";
echo"</td></tr>";
}
$ dd->close();
?>


  三、将程序和目录放到你的网站上,然后在浏览器敲入HTTP://网站名/目录/panxu.php,能看到吗?

  最后,再罗嗦几句(我可不是要多赚Money,主要还是为人民服务),你的网站必须支持php功能。

相关链接:
路由器基础 http://club.sob8.com/read-htm-tid-40543.html

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}