你好,我想避免文件上的重复行

时间:2016-04-02 01:09:50

标签: php duplicates lines

你好我想避免文件上的重复行

file_put_contents('ips.txt', $ip . PHP_EOL, FILE_APPEND | LOCK_EX);

我想只放一次ip ...我怎么能这样做? (我想通过file_put来实现... fwrite对服务器php版本无法正常工作..)

file_put_contents('ips.txt', $ip . PHP_EOL, FILE_APPEND | LOCK_EX);

fwrite代码不适用于我的php版本......

$file = fopen("ips.txt","w");
echo fwrite($file,$ip);
fclose($file);

感谢

1 个答案:

答案 0 :(得分:0)

首先,您需要检索文件的所有行:

$lines = file('ips.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

$lines是一个包含文件所有行的数组。 FILE_IGNORE_NEW_LINESFILE_SKIP_EMPTY_LINES标志用于跳过空行并忽略行结尾。

之后,您需要知道您的地址是否已经在此阵列中,如果不是,请插入您的IP:

if (!in_array($ip, $lines)) {
    file_put_contents('ips.txt', $ip . PHP_EOL, FILE_APPEND | LOCK_EX);
}

PHP file() documentation

PHP in_array() documentation