PHP自动更新新闻DIY


Posted in PHP onOctober 09, 2006

我们浏览一些网站的时候,往往看到一些新闻是刚刚更新不久的,如果要是人工维护的话,那会是一项非常繁琐的工作。然而,我们可以通过程序来控制实现更新操作,事情就会变得很方便了(我可不是要偷懒)。
 

在这里,我使用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与我联系交流。

PHP 相关文章推荐
用PHP的ob_start();控制您的浏览器cache!
Feb 14 PHP
php模板之Phpbean的目录结构
Jan 10 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
php实现的网络相册图片防盗链完美破解方法
Jul 01 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 PHP
用PHP的反射实现委托模式的讲解
Mar 22 PHP
模拟OICQ的实现思路和核心程序(二)
Oct 09 #PHP
层叠菜单的动态生成
Oct 09 #PHP
多数据表共用一个页的新闻发布
Oct 09 #PHP
PHP与MySQL交互使用详解
Oct 09 #PHP
3种平台下安装php4经验点滴
Oct 09 #PHP
多重?l件?合查?(二)
Oct 09 #PHP
文章推荐系统(三)
Oct 09 #PHP
You might like
Smarty+QUICKFORM小小演示
2007/02/25 PHP
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
如何使用PHP计算上一个月的今天
2013/05/23 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
php实现递归的三种基本方式
2020/07/04 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
对python中的pop函数和append函数详解
2018/05/04 Python
python使用udp实现聊天器功能
2018/12/10 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
工程专业应届生求职信
2014/02/19 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
员工家属慰问信
2015/03/24 职场文书
今日说法观后感
2015/06/08 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书