我有一个每20分钟运行一次的脚本,它将日志数据从CSV导入到我的数据库中。有些日志文件可能有20个条目,有些日志文件可能有400,000多个条目。我面临的挑战是,this....the日志文件可能会在我的例程运行的时间间隔内更改或增长。在下一次导入时,我希望从上一个例程运行期间导入的最后一个日志条目开始,而不必从我的表中删除数据,然后重新导入整个日志文件。这有可能吗?
目前,我的代码是:
if (($handle = fopen("/STORAGE/logfile.txt", "r")) !== FALSE)
{
while (($columnsUser = fgetcsv($handle, 1000, ",")) !== FALSE)
{
etc因此,例如,如果在12:20,日志文件有1000个条目,我会将它们全部导入。12点40分,如果还有更多,我想从第1001行开始。
谢谢!
发布于 2013-04-19 12:59:25
您可以使用ftell和fseek来实现这一点。http://php.net/manual/en/function.ftell.php http://php.net/manual/en/function.fseek.php将该位置存储在数据库中,以供以后参考。
https://stackoverflow.com/questions/16097470
复制相似问题