蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

PHP计数器问题????

<?php
function MyCounter() {
$counterFile="count.dat";
if (!file_exists($counterFile)) {
   if (!file_exists(dirname($counterFile))) {
     mkdir(dirname($counterFile), 0700);
   }
   exec("echo 0 > $counterFile");
}
$fp = fopen($counterFile,"rw");
$num = fgets($fp,5);
$num += 1;//累加1;
print "<font color=red>$num</font>";
exec("rm -rf $counterFile");
exec("echo $num > $counterFile");
}
echo("你是本站第");
print mycounter();
echo("位访客");
?>


我想把这段代码,插入到HTML的网页里显示出来...请问要怎样做呢?
听说把它写成脚本就可以插入,,但我是初学者,,不会写...希望高人帮忙.....谢谢大家...

建立个count.php文件,把代码copy进去保存
在页面里调用
<script src=count.php></script>

能行吗.........但我试过不行喔.....
<script src=count.php></script>
你说这样的方式插进去,是JS文件就可以,,,,但是PHP的文件喔..
是不是我的PHP文件里写错了....

你的function都沒有結束的 }
要在網頁中插入,用:
========================
<span><?php echo MyCounter(); ?></span>
========================
舉例而已,另:誰知道你的函數是不是有問題

那就用include调用

首先,需要调用的页面必须是.php的
<?include 'test.php';?>

或者html的用iframe

xling在上个帖子中说
  

有结束啊 :eek:  代码没问题,我试了 :p

上面說錯了,應該是:
<span><?php MyCounter(); ?></span>
你函數裡加了echo了。

大家可能不明白我的意思..........

我意思是说,,,,,,,,怎样才能把这段PHP的代码,,,嵌入到HTML静态网页里.....把计数器显示出来.....

如果是PHP的网页,,就不用问啦..直接插入就行了.......

可是我想在HTML网页里使用啊.......希望大家帮忙........

test.htm
[code]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>

<body>
<script language="javascript">
if (document.all)
        var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
else
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("POST", "test.php", false);

xmlhttp.onreadystatechange = function() {
  if (xmlhttp.readyState == 4){
        document.write(xmlhttp.responseText);
  }
};
xmlhttp.send();
       
</script>
</body>
</html>
[/code]

test.php
[code]
<?php
echo "我是由php寫下來的"
?>
[/code]

這樣好一點,也可以在fireFox下運行。
[code]
<script language="javascript">
if (document.all)
        var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
else
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("POST", "test.php",false);
xmlhttp.send("");
document.write(xmlhttp.responseText);

</script>
[/code]

文件的话不锁定。。。。

假如我把计数器文件上传了这个位置........

http://www.123.com/count.php


我在这句里改一改...

xmlhttp.open("POST", "test.php",false);

改成这样:xmlhttp.open("post","http:www.123.com/count.php",false);

可以吗?


我都试过了.........不行喔...........本人太菜了.....希望大家教教我........

虽然给出了代码,但我怎么就做不到啊?

怎么了..没有人帮我啊?????????

樓主怎麼這樣子(笨)呢?
你把我的兩個代碼copy下來,對著修改不就成哪!
:d:d:d

你不要只寫函數,而不去調用這個函數,這樣的話,即使你的函數功能在強大,他也不會輸出結果啊!

我都试过了,,不行啊...错...

屏幕里只显示:   No input file specified.

是不是代码错了...

這個我在我的機子上運行正常(說起湖塗來,我給還很,程序名明明是tmp2.php,可是腳本裡卻寫:test2.php,我狂暈,一運行:No input file specified. ,我還查了好半天呢,就是查不出來是哪裡的錯,暈死,就是因為寫錯了文件名,當然No input file specified.
了)

[color='ff0000']樓主,請我吃雪糕,最好快遞的[/color],哈哈~~~
兩處代碼,你都考了去,在試:
test.htm
[html]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>

<body>
<script language="javascript">
if (document.all)
        var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
else
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("POST", "tmp2.php",false);
xmlhttp.send("");
document.write(xmlhttp.responseText);
</script>
</body>
</html>
[/html]


tmp2.php
[html]
<?php
function MyCounter(){
        $counterFile="count.dat";
        $fp=fopen($counterFile,"ab+");
        stream_set_timeout($fp, 30);
        $num = fgets($fp);
        $num += 1;
        fclose($fp);
        $fp=fopen($counterFile,"wb");
        fwrite($fp,$num);
        print "<font color=red>$num</font>";
        fclose($fp);
}
echo("你是本站第");
print mycounter();
echo("位访客")."<br>";
?>
[/html]

另外,煩請樓主講一下:
exec("echo 0 > $counterFile");

exec("rm -rf $counterFile");
exec("echo $num > $counterFile");
愣是沒看懂。

执行系统命令(shell 命令),将那个数值写入文件

計得這個功能好大多服務器都把給屏掉了

呵呵,,谢谢大家...........我的问题解决了..真高兴..
有学到一点东西了....




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com