1

基本上我想创建一个网页的全局访问计数器,然后我想为每次访问显示一个图像。因此,如果有 10 个人访问了该页面,则来自服务器的 10 个随机图像将在该页面上回显。当第 11 个访问者到达页面时,将回显一个新的随机图像,依此类推......

所以我真的需要两件事的帮助——

  1. 我有一个非常基本的访问计数器,但它只在会话中有效,我需要它在全球范围内工作吗?
  2. 如何根据访问次数回显图像?

这是我的访问计数器的基本代码:

if(isset($_SESSION['views']))
   $_SESSION['views']=$_SESSION['views']+1;
else
   $_SESSION['views']=1

echo "Page views: ".$_SESSION['views'];

我仍然是 php 的大量初学者,任何帮助将不胜感激:)

多谢你们。

4

3 回答 3

1

如果您选择不将数据存储在数据库中,那么此代码应该适合您,您所要做的就是找到从 0 到 9 的图像,并创建名为 counter.txt 的空文本文件并将此代码放在您的 php 文件中某处

$file = "counter.txt";
$count = file_get_contents($file);
$fh = fopen($file, 'w') or die("ccould not open file");
$content = (int)$count + 1;
fwrite($fh, $content);
fclose($fh);
$counter_array = str_split($content);
foreach($counter_array as $digit){
    echo "<img src='" . $digit . ".gif' />";
}
于 2012-04-16T20:03:30.620 回答
0

会话不适用于全局存储。

他们只有在网站打开之前还活着。

您应该使用数据库来存储全局变量。


现在,进入图像显示部分。您可以使用特定于访问次数的编号命名图像。

例如:

4.jpg 将是第四个人的图像

接下来,您可以使用这样的简单代码段

$visitCounter = "?"; //Get the count using a logic
echo "<img src="$visitCounter.jpg" />"; //Use it to create a image path
于 2012-04-16T19:46:56.947 回答
0

$_SESSION 是错误的用途。

过去,我会在服务器上读取和写入文本文件。由于羊群问题,这不是最好的方法,但它会给你一些读写文件的经验。

于 2012-04-16T19:47:21.087 回答