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.MVC的模板标签系统(二)
Sep 05 PHP
PHP $_SERVER详解
Jan 16 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
PHP页面跳转实现延时跳转的方法
Dec 10 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
php tpl模板引擎定义与使用示例
Aug 09 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
Oct 15 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
python 一维二维插值实例
2020/04/22 Python
在python image 中实现安装中文字体
2020/05/16 Python
迪拜航空官方网站:flydubai
2017/04/20 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
cf战队收人口号
2014/06/21 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python
Golang日志包的使用
2022/04/20 Golang