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

Php 你好,我想避免重复的文件行,php,duplicates,lines,Php,Duplicates,Lines,你好,我想避免重复的文件行 file_put_contents('ips.txt', $ip . PHP_EOL, FILE_APPEND | LOCK_EX); 我想只放一次ip。。。我该怎么做? (我想通过文件\u put…fwrite在服务器上无法正常工作php版本..) 代码 那个fwrite代码在我的php版本上不起作用 $file = fopen("ips.txt","w"); echo fwrite($file,$ip); fclose($file); 谢谢首先,您需要检索文件

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

file_put_contents('ips.txt', $ip . PHP_EOL, FILE_APPEND | LOCK_EX);
我想只放一次ip。。。我该怎么做? (我想通过文件\u put…fwrite在服务器上无法正常工作php版本..)

代码

那个fwrite代码在我的php版本上不起作用

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

谢谢

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

$lines = file('ips.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$lines
是包含文件所有行的数组<代码>文件\忽略\新行和<代码>文件\跳过\空行标志用于跳过空行和忽略行尾

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

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


首先获取ip,并检查ip是否已在文件中。数据库是否能让这变得更简单?
if (!in_array($ip, $lines)) {
    file_put_contents('ips.txt', $ip . PHP_EOL, FILE_APPEND | LOCK_EX);
}