有三个文件:index.php,ip.txt包含允许访问站点的ip地址和count.txt,如果任何用户在ip.txt中使用指定的ip地址访问该站点,它只计算命中。但问题是当ip.txt只包含我的笔记本电脑的ip本地机器ip地址时,它运行正常,并将ip地址增加一个。但是当ip.txt包含许多ip地址以及我的本地机器ip地址时,如果foreach循环中的块检查它们并且不增加计数。但是它应该增加计数,因为我的ip地址也在ip.txt文件中。请帮忙!!
的index.php:
<?php
$ip_address = $_SERVER['REMOTE_ADDR'];
$handle = fopen('ip.txt','r');
$file_read = fread($handle, filesize('ip.txt'));
$file_read_array = explode('\n',$file_read);
foreach($file_read_array as $ip)
{
if(trim($ip) == trim($ip_address))
{
$visit =true;
echo 'true';
break;
}
else
{
$visit =false;
echo 'false';
}
}
if($visit == true)
{
$handle_1 = fopen('count.txt','r');
$file_read_1 = fread($handle_1, filesize('count.txt'));
$increment = $file_read_1 + 1;
fclose($handle_1);
$handle_2 = fopen('count.txt','w');
fwrite($handle_2,$increment);
fclose($handle_2);
}
else
{
echo 'ip address not found.';
}
?>
ip.txt:
127.0.0.1
100.100.100.100
102.1.1.1
count.txt:
0