你好我想避免文件上的重复行
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);
感谢
答案 0 :(得分:0)
首先,您需要检索文件的所有行:
$lines = file('ips.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$lines
是一个包含文件所有行的数组。 FILE_IGNORE_NEW_LINES
和FILE_SKIP_EMPTY_LINES
标志用于跳过空行并忽略行结尾。
之后,您需要知道您的地址是否已经在此阵列中,如果不是,请插入您的IP:
if (!in_array($ip, $lines)) {
file_put_contents('ips.txt', $ip . PHP_EOL, FILE_APPEND | LOCK_EX);
}