如何将PHP的结果输出到非PHP页面中

时间:2010-01-13 08:35:38   来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:页面中去。        先让我们设想一下:我已经有了一个程序下载计数文件在我的网站上,如../count/download.db。      文件格式为:        索引|文件名提示|链接|计数      注意,这里用"|"线分隔。我采用的是文本文件进行处理。里面可...
  正文:

这个问题是当我自已实现了统计计数之后,我想将它的输出用在我的不支持PHP功能的页面中,那么应该如何做呢?主要的解决办法是输出一段JavaScript脚本即可。这个是很有用的,比如实现动态新闻, 广告轮询,当然这里是讲如何把某个程序的下载计数输出到非PHP页面中去。
  
    先让我们设想一下:我已经有了一个程序下载计数文件在我的网站上,如../count/download.db。
  
  文件格式为:
  
    索引|文件名提示|链接|计数
  
  注意,这里用"|"线分隔。我采用的是文本文件进行处理。里面可能某一行数据为:
  
    file1|测试文件1|../download/file1.zip|10
  
  可以看到,下载次数可能已经是10次了。现在我就想把这个10次输出到其它的页面中。
  
    第一步:写Javascript脚本
  
    很简单:
  
  < script language=javascript src="../bin/output.php?id=file1">< /script>
  
    是不是!src后面是指输出的脚本程序,"?"后面是传入脚本的参数。那么output.php应该输出什么数据才能被执行呢?应该输出javascript语句,如document.write()之类的语句。这样,浏览器就会把output.php的输出结果看成一段javascript程序再进行处理,就好象直接写的脚本一样,只不过这段脚本是从别的地方得到的。
  
    好了,知道应该输出什么样的内容了,就可以写php程序了。
  
    第二步:输出结果
  
  
  $fp=fopen("../count/download.db", "r");
  
  $flag=FALSE;
  
  while(!feof($fp))
  
  {
  
  $line=fgets($fp, 256);
  
  list($index, $title, $url, $count)=split("|", $line);
  
  if (strtolower($index)==strtolower($id))
  
  {
  
  $flag=TRUE;
  
  break;
  
  }
  
  }
  
  fclose($fp);
  
  if ($flag)
  
  {
  
  echo "document.write($count);";
  
  }
  
  else
  
  echo "document.write("not found");";
  
  ?>
  
    这段代码也很简单,但是有几点要说明。先打开一个文件。$flag表示是否找到指定索引的文件记录,
  
  首先置为FALSE。再是一个循环,条件是文件没有结束。
  
    然后是循环体:取出一行文本,长度最好长点。进行字段分割,以"|"为分割符。注意,使用的split函数是正则表达式,"|"是一个特殊符号用以用""号。然后分别放入相应的变量中。在这里我们真正关心的是$index和$count。比较输入的参数$id与取出的索引($index)是否相等,如果相等,则将找到标志设为TRUE,退出循环。否则查找下一行数据。
  
    结束时,关闭文件,根据是否找到标志输出相应的javascript脚本即可。
  
    对于$id的使用,是PHP自动将调用的URL处?id=xxx进行了处理,可以直接使用。也可以使用$HTTP_GET_VARS[id]。


来源:http://www.002pc.com/master/College/Programming/PHP/11784.html

收藏到:

关于《如何将PHP的结果输出到非PHP页面中》文章的评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

随机文章

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by rand() limit 10

顶出来的热门

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by diggtop desc,id desc limit 10
站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td