linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > php >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·PHP生成静态页面的一些经验
·PHP无限分类与树型论坛的实现方
·入门级PHP程序员面试题
·php5学习笔记
·PHP入门速成
·vim的代码折叠
·PHP 和 MySQL初学入门
·织梦CMS中文转换拼音函数研究
·文件下载统计php编程代码
·如何建立自己的新闻发布系统
·Windows下Apache+Tomcat+MySQL
·PHP初学者头疼问题总结
·生成sessionid和随机密码的例子
·Cookie及其使用详细介绍
·使用无限生命期Session的方法
最新文章
·BluePage通用分页类助开发者提
·PHP入门速成
·用php实现广告轮播
·Zend Optimizer 问题浅析
·功能强大的CGI语言----PHP3
·用Session对Web页面进行保护
·PHP--进行模块化设计
·如何将PHP的结果输出到非PHP页
·如何开发一个虚拟域名系统
·PHP4调用自己编写的COM组件
·简单的页面缓冲技术(三)
·简单的页面缓冲技术(二)
·简单的页面缓冲技术(一)
·用Socket发送电子邮件(二)
·用Socket发送电子邮件(一)
Google
 
如何将PHP的结果输出到非PHP页面中
[ 作者:  加入时间:2008-02-15 10:49:50  来自:Linux联盟收集整理 ]
这个问题是当我自已实现了统计计数之后,我想将它的输出用在我的不支持PHP功能的页面中,那么应该如何做呢?主要的解决办法是输出一段javascript脚本即可。这个是很有用的,比如实现动态新闻, 广告轮询,当然这里是讲如何把某个程序的下载计数输出到非PHP页面中去。 hSqLinux联盟
   hSqLinux联盟
    先让我们设想一下:我已经有了一个程序下载计数文件在我的网站上,如../count/download.db。 hSqLinux联盟
   hSqLinux联盟
  文件格式为: hSqLinux联盟
   hSqLinux联盟
    索引|文件名提示|链接|计数 hSqLinux联盟
   hSqLinux联盟
  注意,这里用"|"线分隔。我采用的是文本文件进行处理。里面可能某一行数据为: hSqLinux联盟
   hSqLinux联盟
    file1|测试文件1|../download/file1.zip|10 hSqLinux联盟
   hSqLinux联盟
  可以看到,下载次数可能已经是10次了。现在我就想把这个10次输出到其它的页面中。 hSqLinux联盟
   hSqLinux联盟
    第一步:写Javascript脚本 hSqLinux联盟
   hSqLinux联盟
    很简单: hSqLinux联盟
   hSqLinux联盟
  < script language=javascript src="../bin/output.php?id=file1">< /script> hSqLinux联盟
   hSqLinux联盟
    是不是!src后面是指输出的脚本程序,"?"后面是传入脚本的参数。那么output.php应该输出什么数据才能被执行呢?应该输出javascript语句,如document.write()之类的语句。这样,浏览器就会把output.php的输出结果看成一段javascript程序再进行处理,就好象直接写的脚本一样,只不过这段脚本是从别的地方得到的。 hSqLinux联盟
   hSqLinux联盟
    好了,知道应该输出什么样的内容了,就可以写php程序了。 hSqLinux联盟
   hSqLinux联盟
    第二步:输出结果 hSqLinux联盟
   hSqLinux联盟
   hSqLinux联盟
  $fp=fopen("../count/download.db", "r"); hSqLinux联盟
   hSqLinux联盟
  $flag=FALSE; hSqLinux联盟
   hSqLinux联盟
  while(!feof($fp)) hSqLinux联盟
   hSqLinux联盟
  { hSqLinux联盟
   hSqLinux联盟
  $line=fgets($fp, 256); hSqLinux联盟
   hSqLinux联盟
  list($index, $title, $url, $count)=split("\|", $line); hSqLinux联盟
   hSqLinux联盟
  if (strtolower($index)==strtolower($id)) hSqLinux联盟
   hSqLinux联盟
  { hSqLinux联盟
   hSqLinux联盟
  $flag=TRUE; hSqLinux联盟
   hSqLinux联盟
  break; hSqLinux联盟
   hSqLinux联盟
  } hSqLinux联盟
   hSqLinux联盟
  } hSqLinux联盟
   hSqLinux联盟
  fclose($fp); hSqLinux联盟
   hSqLinux联盟
  if ($flag) hSqLinux联盟
   hSqLinux联盟
  { hSqLinux联盟
   hSqLinux联盟
  echo "document.write($count);"; hSqLinux联盟
   hSqLinux联盟
  } hSqLinux联盟
   hSqLinux联盟
  else hSqLinux联盟
   hSqLinux联盟
  echo "document.write(\"not found\");"; hSqLinux联盟
   hSqLinux联盟
  ?> hSqLinux联盟
   hSqLinux联盟
    这段代码也很简单,但是有几点要说明。先打开一个文件。$flag表示是否找到指定索引的文件记录, hSqLinux联盟
   hSqLinux联盟
  首先置为FALSE。再是一个循环,条件是文件没有结束。 hSqLinux联盟
   hSqLinux联盟
    然后是循环体:取出一行文本,长度最好长点。进行字段分割,以"|"为分割符。注意,使用的split函数是正则表达式,"|"是一个特殊符号用以用"\"号。然后分别放入相应的变量中。在这里我们真正关心的是$index和$count。比较输入的参数$id与取出的索引($index)是否相等,如果相等,则将找到标志设为TRUE,退出循环。否则查找下一行数据。 hSqLinux联盟
   hSqLinux联盟
    结束时,关闭文件,根据是否找到标志输出相应的javascript脚本即可。 hSqLinux联盟
   hSqLinux联盟
    对于$id的使用,是PHP自动将调用的URL处?id=xxx进行了处理,可以直接使用。也可以使用$HTTP_GET_VARS[id]。 hSqLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息