PHP实现网页自动更新块

   前言:现在很多有个人主页或者博客的朋友选择租用虚拟主机,而相当一部分虚拟主机支持PHP。如果你有一个支持php的主机空间,有没有用php把自己的网站武装起来呢?

  能不能让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,加入源代码如下:

  

  $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文件,在你想让动态内容显示的位置加入以下代码:

  注意,如果你修改的html文件和english.php不在一个目录下,要在src="..."里注明english.php的相对路径。

  把这个修改后的html文件上传至服务器,在浏览器中打开。如果你每一步做得都正确,应该就可以看到数据文件中的内容显示出来了!过15分钟刷新一下页面看看,是不是显示的内容变化了?而你并没有为更新这些内容做什么额外的劳动,php程序为你做了。

  如果你的朋友想在自己的网页或者博客上实现同样的功能而又没有支持php的主机,可以通过以

的方式调用你主机上的程序来显示同样的内容。

  当然,这个程序还可能存在编码方式不兼容的问题,因为内容都是以gb2312编码显示出来的,用在UTF编码的网页上,中文会变成乱码。解决的方法不在本文的讨论范围内,请搜索有关教程。

  实现了这个功能,你已经开始从html的静态世界向php的动态世界进军了。来日方长,下一次,让我们看看怎样用php为你的网页加个“每日星座运势”功能。

时间: 2024-12-02 04:44:46

PHP实现网页自动更新块的相关文章

java web-javaweb写在线聊天网页怎么实现向对方发送消息后,对方自动更新显示消息

问题描述 javaweb写在线聊天网页怎么实现向对方发送消息后,对方自动更新显示消息 我用js里面的setInterval(function,time)不断执行function函数来获取最新的消息可以完成,但这样会不断地发送请求. 所以想问,这种类型的网站怎么实现? 解决方案 第一种方案:用HTML5,资料 HTML,基本所有类型和版本的浏览器度支持了,出了IE6,7,8 第二种方案:用websocket,用http协议建立tcp点对点连接,这样服务端和客户端页面能互相推送消息了, 但是webs

asp网页:选中select某一项,自动更新右侧的table数据

问题描述 asp网页:选中select某一项,自动更新右侧的table数据 如图,左侧select中是数据表的主键,我想实现,单击选中select中的某一项,自动查询数据库,并把结果显示在右侧table中. 求大神指引思路,用onchange事件可以实现吗?详细代码更好,谢啦! 解决方案 简单的就select+iframe <select onchange="document.getElementById('ifr').src='xxxx.asp?id='+this.value"

卡巴斯基2017免费版发布下载:文件/网页杀毒、自动更新/保护

11月14日下午,卡巴斯基实验室宣布推出一款完全免费的安全解决方案- 卡巴斯基2017免费版,采用与卡巴斯基付费个人产品相同的技术并含所有重要的安全保护功能,运行速度更快且能与其它反病毒软件配合使用. 卡巴斯基免费版到底有哪些实用功能? 根据卡巴斯基官方描述,卡巴斯基免费版包括最基本的功能.比如:文件和网页杀毒.自动更新以及自动保护等等.最重要的是:由于只含有一些主要功能,因此产品更小,运行速度更快,而且能与其它杀毒软件配合使用.即使在同一台计算机上运行也不会与其它安全解决方案产生冲突,同时也可

asp.net自动更新组件分享

一. 摘要 前两天在博客上发布了一篇英文的自动更新组件文章Release a AutoUpdater tool,那么在这篇文章中,我们也对其功能进行一些简单说明,这个组件非常简单,所以大家可以下载进行一些改进.众所周知,对于一般的软件开发,在开始的时候都会有一个技术选型的阶段,最大的选型就是首先要确定是选择Client/Server模式还是Browser/Server模式.综合而论:两者各有优劣,在很多方面都不能被对方互相取代,如在适用Internet.维护工作量等方面,B/S比C/S要强很多:

基于JSP网页自动生成工具的设计与实现

js|设计|网页 摘 要:Web开发技术是Internet应用的一个重要方面,而JSP又是Web开发的最先进的技术,是当前Web开发人员的首选技术.但是由于JSP对Web开发人员要求较高,所以许多一般的Web开发人员还不能够使用这一项先进的技术.讨论基于模板和标签库的JSP网页自动生成工具的设计和实现,提出具体的设计思想和实现方法. 关键词:JSP:自动生成:Web开发:标签:标签库:模板 目录: 引言-------------------------..2 1          系统设计目标和

PHP自动更新新闻DIY

我们浏览一些网站的时候,往往看到一些新闻是刚刚更新不久的,如果要是人工维护的话,那会是一项非常繁琐的工作.然而,我们可以通过程序来控制实现更新操作,事情就会变得很方便了(我可不是要偷懒). 在这里,我使用PHP来实现这一功能.其原理就是根据新闻发布的时间逆序排列好,然后在一页面显示新闻连接列表,每一个连接都对应一条新闻内容网页.具体操作如下: 一.首先,在你的站点下建立一个目录,将编辑好的新闻页都保存在此目录下,将来所有的新闻页都放入这里,方便维护.新闻页格式为超文本方式(可别说你还不会HTML

自动更新是不是做过头了?

不可否认,每个程序员编写的代码都会有漏洞,虽然这听起来让人不快,但这并不是他们的错--看 看现在各种复杂的软件开发平台就能理解,出错是不可避免的.要紧的是程序员要抢在错误造成任何伤害 之前采取措施予以纠正.自动给用户推安全补丁是修复漏洞的最快方法,但要注意:它很容易就做过头了 --就像微软那样. 典型的例子就是Internet Explorer.长期以来,由于其宽容的设计和一系列似乎永无休止的安全漏洞 ,微软的浏览器被各种恶意软件和攻击当成主要目标.为此,4月中旬微软发布了一个重要的IE安全更新

XP系统不能自动更新的解决方法

  在访问Windows Update或者Microsoft Update网站时,网页提示错误代码0×80070422 (显示在屏幕右上角),大意是提示Windows Update服务被禁用,需要到组策略启动相应的服务.不过鉴于在此之前曾经做过优化,在进行操作之前必须先用那个优化程序的还原功能,也就是在操作时选第4项.可是在操作时又出现了问题. 启动自动更新服务时出现提示对话框,说与此服务相关的组件未能启动,因此启动失败.这显然也是那个优化方案的结果.为此又去百度进行了查找,发现了需要先重新注册

发布MFC ActiveX控件并实现自动更新

一.        引言 上一篇我们讲了如何使用 VC 2005来开发 MFC ActiveX控件,我们开发 ActiveX控件最终目的是将 ActiveX控件发布出来并嵌入在 Web网页中,随着控件的版本更新自动在客户端浏览器自动更新.这一篇我们就来讲讲这方面的实现. 使用工具: PackageForTheWeb 二.        编译 ActiveX 控件 在发布之前我们最好用 VS2005将控件编译成" Release"版本,还有一个值得注意的地方是我们在使用MFC类库来开发