PHP唯一命中计数器不起作用

时间:2018-06-27 07:49:51

标签: php file count ip fwrite

我正在尝试根据用户的IP地址使用PHP创建一个唯一的计数器。

这是我的尝试:

$ip_address = $_SERVER["REMOTE_ADDR"];

function hit_count(){
    $ip_file = file('ip.txt');
    foreach($ip_file as $ip){
        $ip_single = trim($ip);
        if($ip_address == $ip_single){
            $found = true;
            break;
        }else{
            $found = false;
        }
    }
    if($found == false){
        $filename = "count.txt";
        $handle = fopen($filename,"r");
        $current = fread($handle,filesize($filename));
        fclose($handle);
        $current_inc = $current + 1;
        $handle = fopen($filename,"w");
        fwrite($handle,$current_inc);
        fclose($handle);
        $handle = fopen("ip.txt","a");
        fwrite($handle,$ip_address."\n");
        fclose($handle);
    }
}

您可以看到,它几乎占用了用户的IP地址,然后调用了文本文档ip.txt。因此,如果用户IP地址的比较与该文本文档中存储的IP地址不匹配,它将返回 false

然后,它会打开count.txt以便统计点击数。最后,它将IP地址也添加到ip.txt

但是现在这段代码的问题是它没有执行必须执行的操作。我的意思是即使执行后两个文本文件都为空。

也不会出现错误,因为代码编写正确。

所以我的问题是,这段代码有什么问题,我该如何解决?

谢谢。

1 个答案:

答案 0 :(得分:0)

几天前,我创建了类似的功能。这是我的代码,请尝试一下。

/dataabc