我们浏览一些网站的时候,往往看到一些新闻是刚刚更新不久的,如果要是人工维护的话,那会是一项非常繁琐的工作。然而,我们可以通过程序来控制实现更新操作,事情就会变得很方便了(我可不是要偷懒)。
在这里,我使用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,能看到吗?
最后,再罗嗦几句(我可不是要多赚money,主要还是为人民服务),你的网站必须支持php功能。
而且,我仅仅提供了基本的功能,你可以增加更多的控制功能,还有页面的修饰和美化等工作,就要靠你自己了(什么?说我不负责到底?我苦...)。 好了,就先到此为止。有什么不对的地方,还请大家多指教,可发email:zbclh@sina.com与我联系交流。
http://www.bkjia.com/phpjc/315349.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/315349.htmltecharticle我们浏览一些网站的时候,往往看到一些新闻是刚刚更新不久的,如果要是人工维护的话,那会是一项非常繁琐的工作。然而,我们可以通...