1

我有一个每 20 分钟运行一次的脚本,它将日志数据从 CSV 导入我的数据库。有些日志文件可能有 20 个条目,有些可能超过 400,000 个。我的挑战是......日志文件可能会在我的例程运行的时间间隔内更改或增长。在下一次导入时,我想从上次例行运行期间导入的最后一个日志条目中提取,而不必从我的表中删除数据并重新导入整个日志文件。这甚至可能吗?

目前,我的代码是:

if (($handle = fopen("/STORAGE/logfile.txt", "r")) !== FALSE)
    {
        while (($columnsUser = fgetcsv($handle, 1000, ",")) !== FALSE)
            {
                etc

因此,例如,如果在 12:20,日志文件有 1000 个整体,我将它们全部导入。12:40,如果还有更多,我想从 1001 行开始。

谢谢!

4

1 回答 1

0

您可以使用 ftell 和 fseek 完成此操作。 http://php.net/manual/en/function.ftell.php http://php.net/manual/en/function.fseek.php 将位置存储在数据库中以供以后参考。

于 2013-04-19T04:59:24.887 回答