php - 没有mysql的php中唯一的ip访问重定向

标签 php arrays ip unique visitor-pattern

如果我的要求看起来很愚蠢,我很抱歉。 我已经为此寻找了很长时间但没有运气。 基本上我想做的是:我希望当访问者访问我的链接'http://mysite. com/redirect .php' ,我的 php 脚本获取他的 IP 地址,检查它是否存在于存储在文件“hits.txt”中的 ips 数组中,如果存在则将他重定向到另一个页面,例如“google.com” 如果没有,则将他的 IP 地址存储在文件中,然后将他重定向到另一个页面,例如“yahoo.com”。 因此,当他稍后再次访问时,他会被重定向到 google.com。 当然我的最终目的是制作一个唯一的ip访问脚本。 如果您知道如何在没有数据库和sql的情况下做到这一点,我将不胜感激,如果您认为只能使用sql来完成,那么请建议我最简单的方法。 到目前为止我的代码但它不起作用:

<?php
// Unique Hits PHP Script
// ----------- March 2004
// Contact author: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6b1e05021a1e0e03021f182b18021111071245080406" rel="noreferrer noopener nofollow">[email protected]</a>

$log = 'hits.txt';

$IP = getenv (REMOTE_ADDR);
$add = true;
$hits = 0;

if (!file_exists ($log)) {
    echo "Error: $log does not exist.";
    exit;
}

$h = fopen ($log, 'r');



    if (in_array($IP, array($h))){


        header("Location: http://google.com");
    }
        else{
      $fp = fopen('hits.txt', 'a');
        fwrite($fp, "'" );
fwrite($fp, $IP );
fwrite($fp, "'" );
fwrite($fp, ',' );
fclose($fp);


        header("Location: http://yahoo.com");

        }





fclose($h);
?>

感谢你们。

最佳答案

您可以为此使用 cookie。 这可能是比使用 IP 地址更可靠的方法,因为无论如何很多人都拥有动态 IP。

http://php.net/manual/en/features.cookies.php

关于php - 没有mysql的php中唯一的ip访问重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40522739/

相关文章:

javascript - 根据字符串中的标点符号将字符串拆分为数组元素 - JavaScript

networking - 如何在 C/C++ 中解析存储在 char 缓冲区中的 IP 数据包

javascript - 在javascript中的数组中添加项目

php - 对 $_POST 变量进行排序

c - IP地址族识别

java - Apache 代理隐藏了 HttpServletRequest 对象的远程 IP 地址

php - 将刻度转换为 unix 时间戳

php - UTF-8 和多语言网站

javascript - 切换 div 重定向到带有 ID 的链接

php - 如何获取<yt:accesscontrol>的xml属性?