|
蓝森林 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 命令),将那个数值写入文件 |
計得這個功能好大多服務器都把給屏掉了 |
呵呵,,谢谢大家...........我的问题解决了..真高兴..
有学到一点东西了.... |
|