【问题标题】:Delete lines not match with the value. (PHP)删除与值不匹配的行。 (PHP)
【发布时间】:2018-04-06 09:12:51
【问题描述】:

文本文件的内容(test.txt):

115.5.108.249 2015-03-01
118.110.6.87 2018-01-03
36.120.105.13 2018-04-06

我熟悉以下内容:

$fname = "test.txt";
$date  = date("Y-m-d");
$lines = file($fname);
foreach ($lines as $line) {
    if (!strstr($line, $date)) {
        $out .= $line;
    }
}

$f = fopen($fname, "w");
fwrite($f, $out);
fclose($f);

此命令只会删除包含当前服务器历史记录和日期 ($date) 的行。我希望这个命令反向运行。历史记录(日期)较旧且与当前服务器日期(PHP 运行的服务器)不匹配的线路清理器。我希望你明白我的意思。请帮帮我。

【问题讨论】:

  • 你在顶部某处错过了$lines = file($fname);

标签: php file file-handling


【解决方案1】:

您只需从条件中删除 ! 即可使其反转:

foreach ($lines as $line) {
    if (strstr($line, $date)) { //change this condition
        $out .= $line;
    }
}

【讨论】:

    猜你喜欢
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多