session_name('mysite_hit_counter'); session_start(); function getUserIP() { // Get real visitor IP behind CloudFlare network if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } return $ip; } $user_ip = getUserIP(); // $fn = 'total_visitors_termofold.txt'; $fi = 'IP_visitors_termofold.txt'; $total_visiotrs = 0; // read current total_visiotrs if (($total_visiotrs = file_get_contents($fn)) === false) { $total_visiotrs = 0; } // write one more hit if (!isset($_SESSION['page_visited_already'])) { if (($fp = @fopen($fn, 'w')) !== false) { if (flock($fp, LOCK_EX)) { $total_visiotrs++; fwrite($fp, $total_visiotrs, strlen($total_visiotrs)); flock($fp, LOCK_UN); $_SESSION['page_visited_already'] = 1; } fclose($fp); } if (($fp = @fopen($fi, 'a')) !== false) { if (flock($fp, LOCK_EX)) { fwrite($fp, date('Y-m-d') . ";" . $user_ip . "\n"); flock($fp, LOCK_UN); } fclose($fp); } } $id = uniqid(); ?>