linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > php >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·PHP生成静态页面的一些经验
·PHP无限分类与树型论坛的实现方
·php5学习笔记
·入门级PHP程序员面试题
·PHP 和 MySQL初学入门
·PHP入门速成
·vim的代码折叠
·文件下载统计php编程代码
·如何建立自己的新闻发布系统
·织梦CMS中文转换拼音函数研究
·Windows下Apache+Tomcat+MySQL
·PHP初学者头疼问题总结
·Cookie及其使用详细介绍
·生成sessionid和随机密码的例子
·使用无限生命期Session的方法
最新文章
·PHP入门速成
·用php实现广告轮播
·Zend Optimizer 问题浅析
·功能强大的CGI语言----PHP3
·用Session对Web页面进行保护
·PHP--进行模块化设计
·如何将PHP的结果输出到非PHP页
·如何开发一个虚拟域名系统
·PHP4调用自己编写的COM组件
·简单的页面缓冲技术(三)
·简单的页面缓冲技术(二)
·简单的页面缓冲技术(一)
·用Socket发送电子邮件(二)
·用Socket发送电子邮件(一)
·PHP/MySQL 购物车
Google
 
PHP实现网页自动更新块
[ 作者:  加入时间:2007-12-03 15:59:55  来自:Linux联盟收集整理 ]
前言:现在很多有个人主页或者博客的朋友选择租用虚拟主机,而相当一部分虚拟主机支持php。如果你有一个支持php的主机空间,有没有用php把自己的网站武装起来呢? aBeLinux联盟
   aBeLinux联盟
    能不能让php为你的网页添加一些每隔一段时间就自动更新的内容,以更好的吸引访客呢?实现这一功能并不需要太高深的编程知识,请看以下例子: aBeLinux联盟
   aBeLinux联盟
    (一)英语谚语 aBeLinux联盟
   aBeLinux联盟
    让我们来看一个简单的应用:让php程序从数据库中随机提取一行记录,显示在网页上,隔15分钟再去读取另一条记录。英汉对照的谚语是个适合显示的内容。 aBeLinux联盟
   aBeLinux联盟
    考虑到放置个人主页的廉价虚拟主机多数不支持MySQL之类的数据库,我们使用文本型数据文件来存放数据,这对于流量不很大的网站来说足够了。建立一个文本文件,命名为english.dat,内容如下: aBeLinux联盟
   aBeLinux联盟
    A bad beginning makes a bad ending. 恶其始者必恶其终。 aBeLinux联盟
   aBeLinux联盟
    A bad bush is better than the open field. 有胜于无。 aBeLinux联盟
   aBeLinux联盟
    A bad compromise is better than a good lawsuit. 吃亏的和解也比胜诉强。 aBeLinux联盟
   aBeLinux联盟
    A bad conscience is a snake in one’s heart. 做贼心虚。 aBeLinux联盟
   aBeLinux联盟
    A bad custom is like a good cake, better broken than kept. 坏习惯像鲜馅饼,分食要比保存好。 aBeLinux联盟
   aBeLinux联盟
    A bad padlock invites a picklock. 开门揖盗。 aBeLinux联盟
   aBeLinux联盟
    …… aBeLinux联盟
   aBeLinux联盟
    注意,每行是一条完整的记录,中间不要换行;文件中不能有半角的双引号( " )否则在输出数据时程序会解析出错。网上有很多这样的内容,搜索一下即可,也可以去我的网站http://www.musicfly.net/english.dat下载一个数据文件。 aBeLinux联盟
   aBeLinux联盟
    下面就是编写读取数据的程序了。建立一个文本文件,命名为english.dat,加入源代码如下: aBeLinux联盟
   aBeLinux联盟
  <?php aBeLinux联盟
  $filename = ’english.dat’; //数据文件名 aBeLinux联盟
  $refresh = 900; //更新周期(以秒为单位,可根据需要自行调整) aBeLinux联盟
  $data = file($filename); //将数据文件装入一个数组 aBeLinux联盟
  $num_lines = count($data); //数据文件行数,也就是记录条数 mt_srand(floor(time() / $refresh)); aBeLinux联盟
  $id = mt_rand(0, $num_lines - 1); //随机选择一条记录号 aBeLinux联盟
  $content = chop($data[$id]); //根据记录号选择相应的数据,并截去最后的换行符 aBeLinux联盟
   aBeLinux联盟
  echo "document.write(\"$content\");"; //用javascript形式输出数据 aBeLinux联盟
  ?> aBeLinux联盟
   aBeLinux联盟
    将english.dat和english.php存盘,上传至服务器的同一个目录下。 aBeLinux联盟
   aBeLinux联盟
    最后一道工序就是让你的网页调用这个php程序来显示内容了。因为php运行的结果是以javascript形式输出的,我们只要把这段php当成一段javascrupt来调用即可,方法是:用记事本或网页编辑软件打开你要修改的html文件,在你想让动态内容显示的位置加入以下代码: aBeLinux联盟
   aBeLinux联盟
  <script language="javascript" src="english.php"></script> aBeLinux联盟
   aBeLinux联盟
    注意,如果你修改的html文件和english.php不在一个目录下,要在src="..."里注明english.php的相对路径。 aBeLinux联盟
   aBeLinux联盟
    把这个修改后的html文件上传至服务器,在浏览器中打开。如果你每一步做得都正确,应该就可以看到数据文件中的内容显示出来了!过15分钟刷新一下页面看看,是不是显示的内容变化了?而你并没有为更新这些内容做什么额外的劳动,php程序为你做了。 aBeLinux联盟
   aBeLinux联盟
    如果你的朋友想在自己的网页或者博客上实现同样的功能而又没有支持php的主机,可以通过以<script language="javascript" src="http://你的网址/程序路径/english.php"></script>的方式调用你主机上的程序来显示同样的内容。 aBeLinux联盟
   aBeLinux联盟
    当然,这个程序还可能存在编码方式不兼容的问题,因为内容都是以gb2312编码显示出来的,用在UTF编码的网页上,中文会变成乱码。解决的方法不在本文的讨论范围内,请搜索有关教程。 aBeLinux联盟
   aBeLinux联盟
    实现了这个功能,你已经开始从html的静态世界向php的动态世界进军了。来日方长,下一次,让我们看看怎样用php为你的网页加个“每日星座运势”功能。 aBeLinux联盟
   aBeLinux联盟
    (本文的程序均在php4/php5环境下运行通过。) aBeLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·用PHP读写NTFS文件系统下的文件摘要信息  (2007-12-03 15:57:11)
 ·PHP中通过Web执行C/C++应用程序  (2007-12-03 15:55:58)
 ·PHP下实现端口复用/劫持  (2007-12-03 15:54:52)
 ·PHP和JAVA的XML-RPC中文问题解决办法  (2007-12-03 15:54:04)
 ·使用php的zlib压缩和解压缩swf文件  (2007-11-29 07:29:43)
 ·使用php通过Socket进行发信源码,支持发信认证  (2007-11-28 14:52:50)
 ·PHP巧获服务器端信息  (2007-11-28 14:52:03)
 ·使用"函数递归"实现基于php和MySQL的动态树型菜单  (2007-11-28 14:50:37)
 ·用PHP实现XML备份Mysql数据库  (2007-11-28 14:50:09)
 ·PHP程序员一般都忽略了的几点精华  (2007-11-28 14:49:20)