首页 > 解决方案 > 检查文件中的值并删除该文件中小于该值的行并保留剩余的行。在 laravel 中

问题描述

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

标签: javascriptphplaravelfile-get-contentslogfile

解决方案


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

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);
}

推荐阅读