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 相关文章推荐
VML绘图板②脚本--VMLgraph.js、XMLtool.js
Oct 09 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
php操作excel文件 基于phpexcel
Jul 02 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
PHP编码转换函数 自动转换字符集支持数组转换
Dec 16 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
thinkphp3.2.3 分页代码分享
Jul 28 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
Yii 框架使用Forms操作详解
May 18 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
PHP实现Soap通讯的方法
2014/11/03 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
javascript中clone对象详解
2014/12/03 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
Python 项目转化为so文件实例
2019/12/23 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
详解Python中的文件操作
2021/01/14 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
大学生的四年学习自我评价
2013/12/13 职场文书
小学生常见病防治方案
2014/06/06 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
2015年酒店客房部工作总结
2015/04/25 职场文书
婚姻出轨保证书
2015/05/08 职场文书
python如何正确使用yield
2021/05/21 Python
Python Django ORM连表正反操作技巧
2021/06/13 Python
MySQL数据库Innodb 引擎实现mvcc锁
2022/05/06 MySQL
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript