php写入csv的方法,大部份时间正常,但是偶尔会出现这样的现象:
有5万条数据,写入csv之后,在35927行之前都是正常的,35929行之后也是正常的,下载csv文件后打开35928也是正常的,但是对比数据库查询结果,可以发现35927行和csv 35929行之间还存在9194条数据没有写入csv文件里,关键的关键是,csv的行数竟然还是连续的,后来我重新写入了一遍数据,同样的操作,5万数据写入完整,所以我觉得大概率可以排除php程序写法问题,请问上面的现象有可能会因为什么原因导致发生?
没有示例文件, 所以只是猜测
- 考虑检查是不是存在换行符等这类的不可见字符造成的问题 -- 你的第二次运行之前如果文件被重新保存过, 则很可能被编辑器修改了那些不可见字符了, 从而导致第二次没有出现问题.
- 如果你用的是 PHP 内建的
fgetcsv
方法, 考虑是不是实际数据超出了length
从而导致错误的断行 (或者如果用fgets
来读行, 也可能有类似问题) -- 当然如果你的第二遍程序完全没改, 那么这种情况的可能性几乎完全没有.