PHP:IP地址签入文本文件

时间:2011-11-25 03:32:50

标签: php if-statement reference ip-address

我一直试图抓住一个人的IP地址,然后当一个人付钱给我访问某些内容时将其存储在txt文件中。当我将IP存储在txt文件(logFile.txt)中时,我希望将支付费用的人重定向到仅适用于已支付人员的内容页面。我还希望能够将尝试复制/粘贴浏览器链接的人重定向到“额外内容”。

我的网站中的代码可以记录人们的IP地址,但是我想要获取该日志文件并将其与额外的内容页面交叉引用。

P.S。我花了好几个小时试图将其记录到文本文件以避免mysql

我只是需要一个大致的想法,所以我可以围绕这个事情。不知道怎么做这一切。

2 个答案:

答案 0 :(得分:4)

  1. 你为什么要避免使用MySQL?如果两个用户同时执行此操作,则对日志文件的其中一个写入可能会丢失或被阻止。 MySQL采取措施防止这种情况发生。它也可能更快。
  2. IP地址既不是唯一标识(两个用户可能使用一个IP地址),也不是给定用户持久的(一个用户可能使用两个IP地址)。如果我为内容付费,我会非常沮丧,因为我没有静态IP地址,因此无法再访问它。
  3. 最后(为了更直接地回答您的问题),您可以使用$_SERVER['REMOTE_ADDR']获取用户的IP地址,并使用file_put_contents将其写入文件,但我不确定您的方式重新考虑这是最好的方法。

答案 1 :(得分:1)

您可以将IP地址存储在数组中:

array{
   [0] => '192.168.1.1',
   [1] => '192.168.1.2',
}

然后在保存到文本文件之前,在阵列上使用serialize。这将返回一个可以写入文本文件的字符串。

要检索数组,只需使用unserialize即可恢复数组。现在,您应该拥有一组IP地址,您可以使用standard array functions进行搜索,添加和删除。