PHP实现网页自动更新块

如题所述

第1个回答  2022-10-19

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

  能不能让php为你的网页添加一些每隔一段时间就自动更新的内容 以更好的吸引访客呢?实现这一功能并不需要太高深的编程知识 请看以下例子    (一)英语谚语

  让我们来看一个简单的应用 让php程序从数据库中随机提取一行记录 显示在网页上 隔 分钟再去读取另一条记录 英汉对照的谚语是个适合显示的内容

  考虑到放置个人主页的廉价虚拟主机多数不支持MySQL之类的数据库 我们使用文本型数据文件来存放数据 这对于流量不很大的网站来说足够了 建立一个文本文件 命名为english dat 内容如下

  A bad beginning makes a bad ending 恶其始者必恶其终

  A bad bush is better than the open field 有胜于无

  A bad promise 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 开门揖盗

  ……

  注意 每行是一条完整的记录 中间不要换行 文件中不能有半角的双引号( )否则在输出数据时程序会解析出错 网上有很多这样的内容 搜索一下即可 也可以去我的网站 musicfly net/english dat下载一个数据文件

  下面就是编写读取数据的程序了 建立一个文本文件 命名为english dat 加入源代码如下

  <?php

  $filename = english dat ; //数据文件名

  $refresh = ; //更新周期(以秒为单位 可根据需要自行调整)

  $data = file($filename); //将数据文件装入一个数组

  $num_lines = count($data); //数据文件行数 也就是记录条数 mt_srand(floor(time() / $refresh));

  $id = mt_rand( $num_lines ); //随机选择一条记录号

  $content = chop($data[$id]); //根据记录号选择相应的数据 并截去最后的换行符

  echo document write( $content ); ; //用javascript形式输出数据?>

  将english dat和english php存盘 上传至服务器的同一个目录下

  最后一道工序就是让你的网页调用这个php程序来显示内容了 因为php运行的结果是以javascript形式输出的 我们只要把这段php当成一段javascrupt来调用即可 方法是 用记事本或网页编辑软件打开你要修改的文件 在你想让动态内容显示的位置加入以下代码

  <script language= javascript src= english php ></script>

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

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

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

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

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

   class=akey target=_blank>你的网址/程序路径/english php ></script>的方式调用你主机上的程序来显示同样的内容

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

lishixinzhi/Article/program/PHP/201311/21515