我按照我在网上找到的这个例子,但它无法正常工作
http://hibbard.eu/how-to-make-a-simple-visitor-counter-using-php/ co计数器显示,它确实创建了counter.txt文件 我正在测试chrome中的localhost
这是我的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Login Form</title>
</head>
<body background="images/stockvault.jpg">
<b><ul>THIS IS A WORK IN PROGRESS</ul></b>
<br />
<br />
<img alt="hit counter" src="php/counter.php" />
<br />
<br />
</body>
</html>
然后是我的php文件:
<?php
session_start();
$counter_name = "counter.txt";
// Check if a text file exists. If not create one and initialize it to zero.
if (!file_exists($counter_name)) {
$f = fopen($counter_name, "w");
fwrite($f,"0");
fclose($f);
}
// Read the current value of our counter file
$f = fopen($counter_name,"r");
$counterVal = fread($f, filesize($counter_name));
fclose($f);
// Has visitor been counted in this session?
// If not, increase counter value by one
if(!isset($_SESSION['hasVisited'])){
$_SESSION['hasVisited']="yes";
$counterVal++;
$f = fopen($counter_name, "w");
fwrite($f, $counterVal);
fclose($f);
}
$counterVal = str_pad($counterVal, 5, "0", STR_PAD_LEFT);
$chars = preg_split('//', $counterVal);
// Change directory
chdir("../");
// Get current directory
//echo getcwd();
chdir("images");
$im = imagecreatefrompng("images.png");
$src1 = imagecreatefrompng("$chars[1].png");
$src2 = imagecreatefrompng("$chars[2].png");
$src3 = imagecreatefrompng("$chars[3].png");
$src4 = imagecreatefrompng("$chars[4].png");
$src5 = imagecreatefrompng("$chars[5].png");
imagecopymerge($im, $src1, 0, 0, 0, 0, 56, 75, 100);
imagecopymerge($im, $src2, 60, 0, 0, 0, 56, 75, 100);
imagecopymerge($im, $src3, 120, 0, 0, 0, 56, 75, 100);
imagecopymerge($im, $src4, 180, 0, 0, 0, 56, 75, 100);
imagecopymerge($im, $src5, 240, 0, 0, 0, 56, 75, 100);
header('Content-Type: image/png');
echo (imagepng($im));
imagedestroy($im);
?>
输出是:
答案 0 :(得分:0)
您在PHP代码的开头忘记了这部分代码,至少在您的复制和粘贴中是这样。
session_start();
$counter_name = "counter.txt";
您需要session_start()来处理$ _SESSION变量,并将生成的文件counter.txt设置为$ counter_name