检查文件中的值并删除该文件中小于该值的行并保留其余行。在laravel

时间:2018-06-05 16:49:18

标签: javascript php laravel file-get-contents logfile

我有一个日志文件,每分钟都在不断更新,它也有一个自动增量值。我将第一次读取数据并将其与该文件中的最后一个自动增量值一起插入数据库。第二次,我能够从数据库中获取最后一个自动增量值,但无法检查文件中的该值并删除文件中小于该值的剩余行。

1 个答案:

答案 0 :(得分:0)

我希望这段代码对您有用:

laravel.log:

[Fri Aug 12 20:37:04 2016][781] abc abcded1
[Fri Aug 12 20:37:04 2016][782] ali shahabi2
[Fri Aug 12 20:37:04 2016][783] mohammad3
[Fri Aug 12 20:37:04 2016][784] sara4
[Fri Aug 12 20:37:04 2016][785] reza5

代码:

<?php
$search_id = 782; # last id in table
$handle = @fopen('laravel.log', "r");
$save_flag=0;
if ($handle)
{
    while (!feof($handle))
    {

        $buffer = fgets($handle);
        if ($save_flag==0)
        {

            if(strpos($buffer, "[$search_id]") !== FALSE)
                $save_flag=1;
                // save this line to DB
        }
        else
        {
            // All messages in this section are new
            // so save this line to DB
        }

    }
    fclose($handle);
}