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 相关文章推荐
PHP4实际应用经验篇(2)
Oct 09 PHP
php 表单数据的获取代码
Mar 10 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
Oct 23 PHP
PHP中操作ini配置文件的方法
Apr 25 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
php去除HTML标签实例
Nov 06 PHP
浅析php原型模式
Nov 25 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
Mar 03 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
php+ajax无刷新上传图片的实现方法
Dec 06 PHP
解决微信授权回调页面域名只能设置一个的问题
Dec 11 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
基于xcache的配置与使用详解
2013/06/18 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
PyQt5实现拖放功能
2018/04/25 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
解决pycharm 安装numpy失败的问题
2019/12/05 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Python eval函数介绍及用法
2020/11/09 Python
开会迟到检讨书
2014/01/08 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL