### 如何将 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]。