从文件中读取IP地址

时间:2014-02-13 20:41:53

标签: php

示例1

<?php
function Piso()
{

  $ip = '77.1.1.1.1';
  $ip2 = $_SERVER['REMOTE_ADDR'];

  return ($ip == $ip2);
}
?>

示例2

<?php
function Piso()

  {
      $ip = fopen("bune.txt", "r");
      $ip2 = $_SERVER['REMOTE_ADDR'];

      return ($ip == $ip2);
    }
    ?>

我想从文件bune.txt中读取IP地址。如果我读它==不起作用。如果我把ip地址放在第一个例子中,那就行了。但我需要示例2来工作。 示例二不起作用,但我不知道如何读取它可以$ ip == $ ip2。感谢。

3 个答案:

答案 0 :(得分:5)

<?php
function Piso()

  {
      $ip = file_get_contents("bune.txt");
      $ip2 = $_SERVER['REMOTE_ADDR'];

      return ($ip == $ip2);
    }
?>

答案 1 :(得分:3)

假设文件中只有1个IP地址而没有其他内容:

$ip = trim(file_get_contents("bune.txt"));

答案 2 :(得分:3)

这是因为PHP的fopen()函数返回一个文件句柄(类型resource)以便从文件中读取(因为您传递了"r")。

而不是fopen()使用将返回文件内容的简单函数file_get_contents()

function Piso() {
    // Absolute path is faster.
    $file = __DIR__ . DIRECTORY_SEPARATOR . "bune.txt";

    // Confirm that the file exists and is readable.
    if (is_readable($file) === false) {
        return false;
    }

    // Use trim() to remove white space and compare read IP against remote address.
    return (trim(file_get_contents($file)) == $_SERVER["REMOTE_ADDR"]);
}