检查文件中的特定IP地址?

时间:2014-08-18 04:17:44

标签: php

我要做的是检查同一目录中名为ip-addresses.php的文件是否存在特定的IP地址,如果文件中的IP为 NOT ,那么我想分配spark

的值

这是我到目前为止所做的:

$ip = 


if( $ip ) {
    $value = "spark";
}
?>

所以我要做的是让值$ip检查php文件中的某些IP,然后赋值“spark”

我该怎么做?

2 个答案:

答案 0 :(得分:2)

函数file()将文件的行作为数组读取,从而可以使用in_array()轻松检查现有元素。

$list = file("ip-addresses.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

if (in_array($_SERVER['REMOTE_ADDR'], $list))
{
    $value = "spark";
}

答案 1 :(得分:0)

你需要首先读入文件(如果它是一个php文件,你也可以创建一个函数,返回一个IP数组并直接调用它。然后在生成的数组中查找特定的ip(将生成从阅读文件)如果是假,则将ip设置为“spark”。

// if you want to create another function in another .php file
include_once('ip-addresses.php');
$ip_array = get_ip_list();

// if you want the ips in a newline line separated .txt file
$ip_array = file('ip-addresses.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

$ip = '127.0.0.1'; // theres no place like 127.0.0.1 but you can change this to what you want

if (!in_array($ip, $ip_array)) {
    $ip = 'spark';
}