求助:本人想做一个文本计数器,原理是html文件里利用js调用php内容FileCount.php内容<?PHP  
$countfile = "num.txt";  
//定义计数器写入的文件是当前目录下num.txt,然后我们应当测试该文件能否打开  if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文件,若不能打开就退出  
printf ("打开文件 %s 失败!",$countfile);  
exit;  
}  
else  
{  
//如果文件能够正常打开,就读入文件中的数据,假设是1  
$count = fread ($fp,10);  
//读取10位数据  
$count = $count + 1;  
fclose ($fp);  
//关闭当前文件  
$fp = fopen($countfile, "w+");  
//以覆盖模式打开文件  
fwrite ($fp,$count);  
//写入加1后的新数据  
fclose ($fp);  
//并关闭文件  echo 'document.write("'.$count.'")';  
//用javascript形式输出数据  }  
?>  
在html文件里面js调用php  <HTML>  
<HEAD>  
<TITLE>页面</TITLE>  
</HEAD>  
<BODY>  
您好,您是第  
<SCRIPT LANGUAGE="JavaScript" src="FileCount.php">  
//引用时注意php计数器所在的服务器及目录路径。  
</SCRIPT>  
位访客  
</BODY>  
</HTML>  
现在FileCount.php和num.txt都能显示变化的数值,但是html页面只显示您是第 位访客而无法显示数值
请大家帮帮忙,小弟急用

解决方案 »

  1.   

    这种情况只能靠你调试呗  var_dump($count);  var_dump($fp);
      

  2.   

    就算把那个php文件改成了
    <?
          echo "document.write('abc')";
    ?>还是不显示呢?
      

  3.   

    那就是文件路径的问题了 当前页面的文件夹里是否有 FileCount.php ? 注意区分大小写。
      

  4.   

    <SCRIPT LANGUAGE="JavaScript" src="FileCount.php">   这种形式的用法。。不知道行不行的通。我测了一下,不行。我想了两种方法:
      一:这里换成一段PHP代码   您好,您是第<?php echo.... ?>位访客。
      
      二:参考jquery的ajax方法。
      

  5.   

    two reason maybe cause this problem.
    1st.
    header( 'Content-Type:text/javascript;charset=utf-8 ');
    2nd.
    charset problem