PHP实现网页自动更新块


 
 
 
 前言:现在很多有个人主页或者博客的朋友选择租用虚拟主机,而相当一部分虚拟主机支持php。如果你有一个支持php的主机空间,有没有用php把自己的网站武装起来呢? CkbLinux联盟
   CkbLinux联盟
    能不能让php为你的网页添加一些每隔一段时间就自动更新的内容,以更好的吸引访客呢?实现这一功能并不需要太高深的编程知识,请看以下例子: CkbLinux联盟
   CkbLinux联盟
    (一)英语谚语 CkbLinux联盟
   CkbLinux联盟
    让我们来看一个简单的应用:让php程序从数据库中随机提取一行记录,显示在网页上,隔15分钟再去读取另一条记录。英汉对照的谚语是个适合显示的内容。 CkbLinux联盟
   CkbLinux联盟
    考虑到放置个人主页的廉价虚拟主机多数不支持MySQL之类的数据库,我们使用文本型数据文件来存放数据,这对于流量不很大的网站来说足够了。建立一个文本文件,命名为english.dat,内容如下: CkbLinux联盟
   CkbLinux联盟
    A bad beginning makes a bad ending. 恶其始者必恶其终。 CkbLinux联盟
   CkbLinux联盟
    A bad bush is better than the open field. 有胜于无。 CkbLinux联盟
   CkbLinux联盟
    A bad compromise is better than a good lawsuit. 吃亏的和解也比胜诉强。 CkbLinux联盟
   CkbLinux联盟
    A bad conscience is a snake in one’s heart. 做贼心虚。 CkbLinux联盟
   CkbLinux联盟
    A bad custom is like a good cake, better broken than kept. 坏习惯像鲜馅饼,分食要比保存好。 CkbLinux联盟
   CkbLinux联盟
    A bad padlock invites a picklock. 开门揖盗。 CkbLinux联盟
   CkbLinux联盟
    …… CkbLinux联盟
   CkbLinux联盟
    注意,每行是一条完整的记录,中间不要换行;文件中不能有半角的双引号( " )否则在输出数据时程序会解析出错。网上有很多这样的内容,搜索一下即可,也可以去我的网站 http://www.musicfly.net/english.dat下载一个数据文件。 CkbLinux联盟
   CkbLinux联盟
    下面就是编写读取数据的程序了。建立一个文本文件,命名为english.dat,加入源代码如下: CkbLinux联盟
   CkbLinux联盟
  <?php CkbLinux联盟
  $filename = ’english.dat’; //数据文件名 CkbLinux联盟
  $refresh = 900; //更新周期(以秒为单位,可根据需要自行调整) CkbLinux联盟
  $data = file($filename); //将数据文件装入一个数组 CkbLinux联盟
  $num_lines = count($data); //数据文件行数,也就是记录条数 mt_srand(floor(time() / $refresh)); CkbLinux联盟
  $id = mt_rand(0, $num_lines - 1); //随机选择一条记录号 CkbLinux联盟
  $content = chop($data[$id]); //根据记录号选择相应的数据,并截去最后的换行符 CkbLinux联盟
   CkbLinux联盟
  echo "document.write(/"$content/");"; //用javascript形式输出数据 CkbLinux联盟
  ?> CkbLinux联盟
   CkbLinux联盟
    将english.dat和english.php存盘,上传至服务器的同一个目录下。 CkbLinux联盟
   CkbLinux联盟
    最后一道工序就是让你的网页调用这个php程序来显示内容了。因为php运行的结果是以javascript形式输出的,我们只要把这段php当成一段javascrupt来调用即可,方法是:用记事本或网页编辑软件打开你要修改的html文件,在你想让动态内容显示的位置加入以下代码: CkbLinux联盟
   CkbLinux联盟
  <script language="javascript" src="english.php"></script> CkbLinux联盟
   CkbLinux联盟
    注意,如果你修改的html文件和english.php不在一个目录下,要在src="..."里注明english.php的相对路径。 CkbLinux联盟
   CkbLinux联盟
    把这个修改后的html文件上传至服务器,在浏览器中打开。如果你每一步做得都正确,应该就可以看到数据文件中的内容显示出来了!过15分钟刷新一下页面看看,是不是显示的内容变化了?而你并没有为更新这些内容做什么额外的劳动,php程序为你做了。 CkbLinux联盟
   CkbLinux联盟
    如果你的朋友想在自己的网页或者博客上实现同样的功能而又没有支持php的主机,可以通过以<script language="javascript" src="http://你的网址/程序路径/english.php"></script>的方式调用你主机上的程序来显示同样的内容。 CkbLinux联盟
   CkbLinux联盟
    当然,这个程序还可能存在编码方式不兼容的问题,因为内容都是以gb2312编码显示出来的,用在UTF编码的网页上,中文会变成乱码。解决的方法不在本文的讨论范围内,请搜索有关教程。 CkbLinux联盟
   CkbLinux联盟
    实现了这个功能,你已经开始从html的静态世界向php的动态世界进军了。来日方长,下一次,让我们看看怎样用php为你的网页加个“每日星座运势”功能。 CkbLinux联盟
   CkbLinux联盟
    (本文的程序均在php4/php5环境下运行通过。) CkbLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值