Php 使用fgetcsv的起始位置

Php 使用fgetcsv的起始位置,php,handle,fgetcsv,Php,Handle,Fgetcsv,我有一个每20分钟运行一次的脚本,它将日志数据从CSV导入我的数据库。有些日志文件可能有20个条目,有些日志文件可能超过400000个条目。我的挑战是…日志文件可能会在例程运行的时间间隔内更改或增长。在下一次导入时,我希望在上一次例行程序运行期间导入的最后一个日志条目处进行拾取,而不必从表中删除数据并重新导入整个日志文件。这可能吗 目前,我的代码是: if (($handle = fopen("/STORAGE/logfile.txt", "r")) !== FALSE) {

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

目前,我的代码是:

if (($handle = fopen("/STORAGE/logfile.txt", "r")) !== FALSE)
    {
        while (($columnsUser = fgetcsv($handle, 1000, ",")) !== FALSE)
            {
                etc
因此,例如,如果在12:20,日志文件有1000个entires,我将导入所有entires。12点40分,如果还有更多,我想从1001行开始


谢谢大家!

您可以使用ftell和fseek来实现这一点。 将该位置存储在数据库中以供以后参考