<?php
$countfile = 'counter.txt';
$ipfile = 'ip.txt';function countint(){
$ip = $_SERVER['REMOTE_ADDR'];
global $countfile , $ipfile;if (!in_array($ip, file($ipfile, FILE_IGNORE_NEW_LINES))) {
$current = (file_exists($countfile)) ? file_get_contents($countfile) : 0;
file_put_contents($ipfile, $ip."\n", FILE_APPEND);
file_put_contents($countfile, ++$current);
}}
countint();
$value =file_get_contents($countfile);
?>
Это функция count.php, включенная вместе с двумя файлами ip.txt и counter.txt.
счетчик не идет мимо 2 хитов
после двух попаданий останавливается запись ip-адреса
Дайте это попробовать. Я добавил elseif
а также in_array
состояние elseif (in_array...
Sidenote: имеет смысл, что unique
счетчик ударов останавливается после 1
иначе это не было бы уникально.
Если вы хотите продолжать считать их, вы можете попробовать. Если это не сработает, как ожидалось, дайте мне знать, и я постараюсь изменить его или вообще удалить ответ.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$countfile = 'counter.txt';
$ipfile = 'ip.txt';
function countint(){
$ip = $_SERVER['REMOTE_ADDR'];
global $countfile , $ipfile;if (!in_array($ip, file($ipfile, FILE_IGNORE_NEW_LINES))) {
$current = (file_exists($countfile)) ? file_get_contents($countfile) : 0;
file_put_contents($ipfile, $ip."\n", FILE_APPEND);
file_put_contents($countfile, ++$current);
}elseif (in_array($ip, file($ipfile, FILE_IGNORE_NEW_LINES))) {
$current = (file_exists($countfile)) ? file_get_contents($countfile) : 0;
file_put_contents($ipfile, $ip."\n", FILE_APPEND);
file_put_contents($countfile, ++$current);
}
}
countint();
$value =file_get_contents($countfile);
?>
пришлось изменить! in_array на, если вы хотите неуникальный счетчик
<?php
$countfile = 'counter.txt';
$ipfile = 'ip.txt';function countint(){
$ip = $_SERVER['REMOTE_ADDR'];
global $countfile , $ipfile;if (in_array($ip, file($ipfile, FILE_IGNORE_NEW_LINES))) {
$current = (file_exists($countfile)) ? file_get_contents($countfile) : 0;
file_put_contents($ipfile, $ip."\n", FILE_APPEND);
file_put_contents($countfile, ++$current);
}}
countint();
$value =file_get_contents($countfile);
?>
<?php
$countfile = 'counter.txt';
$ipfile = 'ip.txt';function countint(){
$ip = $_SERVER['REMOTE_ADDR'];
global $countfile , $ipfile;if (!in_array($ip, file($ipfile, FILE_IGNORE_NEW_LINES))) {
$current = (file_exists($countfile)) ? file_get_contents($countfile) : 0;
file_put_contents($ipfile, $ip."\n", FILE_APPEND);
file_put_contents($countfile, ++$current);
}}
countint();
$value =file_get_contents($countfile);
?>
отлично работает для уникального счетчика IP-адресов ………………..
Если вам нужно увеличивать при каждом просмотре страницы, попробуйте ответ выше с оператором if else …………