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

页面

这个问题是当我自已实现了统计计数之后,我想将它的输出用在我的不支持PHP功能的页面中,那么应该如何做呢?主要的解决办法是输出一段javascript脚本即可。这个是很有用的,比如实现动态新闻, 广告轮询,当然这里是讲如何把某个程序的下载计数输出到非PHP页面中去。

  文件格式为:

  索引|文件名提示|链接|计数

注意,这里用"|"线分隔。我采用的是文本文件进行处理。里面可能某一行数据为:

  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]。

时间: 2024-11-18 01:32:55

如何将PHP的结果输出到非PHP页面中的相关文章

VC++实现非窗口类中使用定时器的方法

定时器在Windows 的程序中的作用不可忽略,也随处可见.设定一个时间间隔每0.5秒或者1秒钟刷新一次时钟,这样就可以完成一个简单的电子钟程序.在不同的编程工具中定时器的用法也不同,Visual C++中也给我们提供了实现这种功能的方法,而且方法不只一种.在窗口类中是使用定时器比较很简单,用SetTimer()设置了定时器之后,并在Class Wizard中添加了WM_TIMER消息映射后,您就可以在映射函数OnTimer()中添加代码实现,来定时完成您的任务,而且还支持任意多个定时器,这种方

网站重点页面权重和非必要页面的处理

SEO在对网站内部优化中有一个步骤很重要,就是如何分配内页的权重和处理一些非必要页面的处理.因为这将深远的影响网站的整体权重和网站未来的销售转化率.我们通常的做法是树形的网站结构,内页的权重的分配模式也是和谐正常的.但是经常是因为采取的建站技术不同,要实现的功能,目标的不同,最终的营销目标不同,让某些貌似采取树状结构构建的网站,仔细研究起来却是七零八落,横枝竖杈.每个网站的最终目的不同,所以每一什么绝对的结构模式是适用任何网站的.因此做好内页权重的分配和非必要页面的处理就显得尤为重要. 先来说一

非窗口类中使用定时器的方法及相关知识的介绍

本文代码运行效果图如下: 摘 要:本文主要通过一些简单的例子,介绍了如何在Visual C++的窗口和非窗口类中使用定时器.重点介绍了如何用静态成员函数和静态数据成员在非窗口类中使用定时器,同时,又介绍了与定时器相关的知识,例如回调函数,C++类中的静态成员,以及模板类中的映射类等. 关键字 C++ 类 定时器 静态函数 静态成员函数 静态数据成员 回调函数 映射类 摘 要:This page introduce how to use timer in window class and none

在非MFC程序中引用CString

CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen,strcpy,strstr等等,本文讨论的是在非mfc程序中使用CString类的方法,算是个引子,如果有更好的实现方法,欢迎大家讨论. 为了使用CString类,首先源文件必须是以cpp结尾的,这是因为vc默认对不同的扩展名采用不同的编译方法和错误检查,mfc的支持文件Afx.h只有由cpp为扩

Mac下如何移动非活动窗口中的内容

  在Mac OS中,有一个非常有用的小特性,就是我们可以通过鼠标和触摸板来滚动非活动窗口中的内容.方法非常简单. 1.当我们的鼠标光标的位置位于非活动窗口的时候,我们通过鼠标的滚轮或者双指在触摸板上上下移动,就可以来滚动这个非活动窗口中的内容,而不必将这个窗口切换为活动窗口. 2.这个特性对于进行文件校对或内容比较等工作可以节省大量的切换窗口的时间,从而提高工作效率.

mysql 数据库-关于mysql关联多列查询,分组查询并输出每组数据的中值

问题描述 关于mysql关联多列查询,分组查询并输出每组数据的中值 imei phone key value 863184021544828 lenovoa788t c14 484 355799050650579 samsungi9500 c14 542 355799050650579 samsungi9500 c14 623 868331013987821 huaweiu9508 c14 523 868331013987821 huaweiu9508 c14 498 8683310139878

cpu-wPrime测试CPU如何将结果输出到txt文档中?

问题描述 wPrime测试CPU如何将结果输出到txt文档中? 5C 想做一个测试CPU的程序,使用wPrime进行测试,结论如何输出到TXT文档中?而不是使用它本身的界面去查看,请高手指点,谢谢! 解决方案 可以通过FindWindow找到wPrime窗口的句柄以及内部文本框的句柄,调用SendMessage发WM_SETTEXT消息从它的文本框中获取结果. 解决方案二: 不好意思,笔误,set_text 解决方案三: 不好意思,笔误,wm_settext 解决方案四: 如果它没有提供文件导出

用writefile在页面中输出数据为什么显示的还是关于ASP.NET的起始页面

问题描述 F盘里也有对应的文件,文件里也有内容,可是为什么运行之后没有显示出write要输出的内容呢, 解决方案 解决方案二:权限问题吧,可能读取的权限不足.解决方案三:页面上显示的那些都在前台你后台输出的可能在页面的某个角落解决方案四:引用1楼wyd1520的回复: 权限问题吧,可能读取的权限不足. 哦,现在我也不懂,先把问题放着以后就会懂了解决方案五:引用2楼FoxDave的回复: 页面上显示的那些都在前台你后台输出的可能在页面的某个角落 哦哦,所以还是存在的是啊解决方案六:引用4楼qq_1

初学者的忧伤-我想在非ie浏览器的页面中执行一个js,然后打开一个指定的ie页面

问题描述 我想在非ie浏览器的页面中执行一个js,然后打开一个指定的ie页面 ActiveX只有在ie中才能运行,我现在想在谷歌或者火狐浏览器网页中自动打开一个ie浏览器的指定页面,请问直接用js可以实现吗? 解决方案 [原创]在winform程序中实现在IE浏览器中打开一个新的页面,全屏化并屏蔽IE窗口的工具栏和地址栏 解决方案二: 没有这种办法.页面在哪个浏览器打开就会在哪个浏览器呈现,页面不属于任何一个浏览器专有.你要想支持activeX,就只能在IE浏览器中打开.