网站内容自动更新(我使用PHP来实现这一新闻内容网页功能的原理)
优采云 发布时间: 2022-04-01 12:01网站内容自动更新(我使用PHP来实现这一新闻内容网页功能的原理)
当我们浏览一些网站时,经常会看到一些新闻刚刚更新。如果是人工维护,那将是一项非常繁琐的工作。不过我们可以通过程序来控制更新操作,事情会变得很方便(我不是偷懒的意思)。
在这里,我使用 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 md 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]["文件时间"];
$fname=$fp[$j]["文件名"];
$fcontent=$fp["$j"]["第一行"];
$fp[$j]["filetime"]=$fp[$k]["filetime"];
$fp[$j]["文件名"]=$fp[$k]["文件名"];
$fp[$j]["firstline"]=$fp[$k]["firstline"];
$fp[$k]["filetime"]=$c;//line30
$fp[$k]["文件名"]=$fname;
$fp[$k]["第一行"]=$fcontent;
}
for($i=0;$i<=(count($fp)-4);$i++)//读取保存的文件信息并进行相应的连接
{
回声“<tr><td>”;
echo "<a href=".$fp[$i]["filename"].">".$fp[$i]["firstline"]."</a>";
echo "</td><td class=font1>";
echo "(".$fp[$i]["filetime"].")<br>\n";
回声“</td></tr>”;
}
$dd->关闭();
三、把程序和目录放到你的网站上,然后在浏览器中输入网站name/directory/panxu.php,可以看到吗?
最后多说几句(我不想多挣钱,我主要为人民服务),你的网站必须支持php功能。
而且我只提供基本功能,你可以添加更多的控制功能,还有页面的装饰和美化,就看你了(什么?到底说我不负责?我受苦了……) . 好吧,让我们停在那里。如果有什么不对的地方请多多指教,可以发Email:联系我交流。