登录发现更多内容
首页
分类
目录
索引
标签
酷站
用户名
Email
自动登录
找回密码
密码
登录
成为会员
只需一步, 快速开始
登录
立即登录
立即注册
其他登录
QQ
微信
新首页
Portal
观海听潮
小百科
创业沙龙
关于我们
酷站
科技资讯
搜索
搜索
本版
帖子
用户
活动
好友
帖子
收藏
道具
勋章
任务
动态
记录
门户
导读
排行榜
设置
我的收藏
退出
首页
›
快活林
›
猿氏悟语
›
PHP实现网页自动更新块
0赞
赞赏
手机版
扫码打开手机版
把文字装进口袋
返回列表
PHP实现网页自动更新块
[ 复制链接 ]
盖茨
2008-11-7 12:01:45
能不能让php为你的网页添加一些每隔一段时间就自动更新的内容,以更好的吸引访客呢?实现这一功能并不需要太高深的编程知识,请看以下例子:
(一)英语谚语
让我们来看一个简单的应用:让php程序从数据库中随机提取一行记录,显示在网页上,隔15分钟再去读取另一条记录。英汉对照的谚语是个适合显示的内容。
考虑到放置个人主页的廉价虚拟主机多数不支持MySQL之类的数据库,我们使用文本型数据文件来存放数据,这对于流量不很大的网站来说足够了。建立一个文本文件,命名为english.dat,内容如下:
A bad beginning makes a bad ending. 恶其始者必恶其终。
A bad bush is better than the open field. 有胜于无。
A bad compromise is better than a good lawsuit. 吃亏的和解也比胜诉强。
A bad conscience is a snake in one’s heart. 做贼心虚。
A bad custom is like a good cake, better broken than kept. 坏习惯像鲜馅饼,分食要比保存好。
A bad padlock invites a picklock. 开门揖盗。
……
注意,每行是一条完整的记录,中间不要换行;文件中不能有半角的双引号( " )否则在输出数据时程序会解析出错。网上有很多这样的内容,搜索一下即可,也可以去我的网站
http://www.musicfly.net/english.dat
下载一个数据文件。
下面就是编写读取数据的程序了。建立一个文本文件,命名为english.dat,加入源代码如下:
<?php
$filename = ’english.dat’; //数据文件名
$refresh = 900; //更新周期(以秒为单位,可根据需要自行调整)
$data = file($filename); //将数据文件装入一个数组
$num_lines = count($data); //数据文件行数,也就是记录条数 mt_srand(floor(time() / $refresh));
$id = mt_rand(0, $num_lines - 1); //随机选择一条记录号
$content = chop($data[$id]); //根据记录号选择相应的数据,并截去最后的换行符
echo "document.write("$content");"; //用javascript形式输出数据
?>
复制代码
将english.dat和english.php存盘,上传至服务器的同一个目录下。
最后一道工序就是让你的网页调用这个php程序来显示内容了。因为php运行的结果是以javascript形式输出的,我们只要把这段php当成一段javascrupt来调用即可,方法是:用记事本或网页编辑软件打开你要修改的html文件,在你想让动态内容显示的位置加入以下代码:
<script language="javascript" src="english.php"></script>
注意,如果你修改的html文件和english.php不在一个目录下,要在src="..."里注明english.php的相对路径。
把这个修改后的html文件上传至服务器,在浏览器中打开。如果你每一步做得都正确,应该就可以看到数据文件中的内容显示出来了!过15分钟刷新一下页面看看,是不是显示的内容变化了?而你并没有为更新这些内容做什么额外的劳动,php程序为你做了。
如果你的朋友想在自己的网页或者博客上实现同样的功能而又没有支持php的主机,可以通过以<script language="javascript" src="http://你的网址/程序路径/english.php"></script>的方式调用你主机上的程序来显示同样的内容。
当然,这个程序还可能存在编码方式不兼容的问题,因为内容都是以gb2312编码显示出来的,用在UTF编码的网页上,中文会变成乱码。解决的方法不在本文的讨论范围内,请搜索有关教程。
实现了这个功能,你已经开始从html的静态世界向php的动态世界进军了。来日方长,下一次,让我们看看怎样用php为你的网页加个“每日星座运势”功能。
(本文的程序均在php4/php5环境下运行通过。)
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
跟贴 Reply
本版积分规则
回帖后跳转到最后一页
综合
最新
热度
发表评论
浏览过的版块
精品软件区
聚贤庄-IT人才招聘
IT业界
盖茨
关注
主题数194
搜狐某频道风骚年会纪实:美眉没有低过膝盖的裙子-转
阅读 131519
巴勒斯坦人借博客号召全球“网络大起义”
阅读 98800
调查显示:46%女性网民宁愿不做爱也得写博客
阅读 97222
发布新话题
小帖士
如果你不是特别对他的每一句话感兴趣,不要随意用"关注"人的功能,因为关注以后,他的所有发帖回帖都会以通知的方式提醒你的!
统计信息
会员数: 4661 个
话题数: 8709 篇
巅峰数: 8 人
首页
分类
目录
索引
我的
返回顶部