Php 使用拆分csv文件是否安全\n?

Php 使用拆分csv文件是否安全\n?,php,parsing,csv,explode,Php,Parsing,Csv,Explode,使用explode使用字符分割csv文件安全吗\r\n或者为了安全起见,我还应该包含吗?90%的文件将来自windows计算机,并且可能使用ms excel从.xls文件转换而来。为什么不首先使用 请参见该手册页上的以下注释: 注意:如果PHP在读取Macintosh计算机上或由Macintosh计算机创建的文件时无法正确识别行尾,启用自动检测行尾运行时配置选项可能有助于解决此问题 您想使用/结合使用 你需要数数吗?在fgetcsv中增加一个计数器将节省大量ram和cputime,而不是一个完整

使用explode使用字符分割csv文件安全吗\r\n或者为了安全起见,我还应该包含吗?90%的文件将来自windows计算机,并且可能使用ms excel从.xls文件转换而来。

为什么不首先使用

请参见该手册页上的以下注释:

注意:如果PHP在读取Macintosh计算机上或由Macintosh计算机创建的文件时无法正确识别行尾,启用自动检测行尾运行时配置选项可能有助于解决此问题

您想使用/结合使用

你需要数数吗?在fgetcsv中增加一个计数器将节省大量ram和cputime,而不是一个完整的读入和一个额外的循环来计算读入

而且,如果您改变主意,但又想保存一行或某个单元格以供以后处理,您将更加灵活。

怎么样:

$num_lines = count(file('your-file.csv'));

但不确定这会有多严重?

您不需要包括\r\n。您可以只使用\n就爆炸。但是,爆炸后对管线进行修剪是很好的。@NADH你是肯定的吗?手册上有什么东西可以确认这个或任何测试吗?是的,我是肯定的。来自经验。但是,实际上应该使用fgetscsv,而不是手动分解线。如果您仍然不想这样做,您可以依赖于将文件中的行读取到数组中的文件。需要计算并显示文件中的总行数,而不必遍历所有行。现在我正在做$lines=爆炸$Totalines=计数$行$file=somefile.txt$lines=countfile$file;。尽管@breiti对类似方法的RAM使用有自己的看法。