【问题标题】:Get the last 50 lines from text file using php使用 php 从文本文件中获取最后 50 行
【发布时间】:2011-08-16 10:10:37
【问题描述】:

我有一个文本文件,例如日志文件,我想从中获取最后 50 行。

在 PHP 中我该怎么做?

【问题讨论】:

    标签: php file text


    【解决方案1】:

    函数fseek在cmets中有some sollutions

    【讨论】:

    • 我查了找不到任何解决方案
    【解决方案2】:

    我认为您可以使用 fopen 获取句柄,然后使用 filesize 获取大小并使用 fseek 转到 filesize-50。那么最后 50 个字符只需 fread 50 个字符。如果您查看 fseek 下的手册,我想这已经完成了。

    Here是fseek手册中的解决方法。只需将 fseek 行上的 -1 更改为 -50。

    【讨论】:

      【解决方案3】:

      如果你在 linux 上,我猜你也可以使用“tail”。

      $handle = popen("tail -50l YOUR_FILE_HERE 2>&1", 'r');
      while(!feof($handle)) {
          $buffer = fgets($handle);
          echo "$buffer<br/>\n";
          ob_flush();
          flush();
      }
      pclose($handle);
      

      【讨论】:

      • BSD 也有。我不确定,但我认为 Mac 也有一些类似的基本 Unix 实用程序(不像有人会在生产环境中运行 OS X 服务器,但是......)。
      【解决方案4】:
      <?
      $data = file('yourfile.txt');
      $lines = implode("\r\n",array_slice($data,count($data)-51,50));
      ?>
      

      就这么简单

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-29
        • 2013-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多