如何处理具有不同机箱的CSV文件

时间:2014-05-21 14:51:26

标签: php csv yii fgets fgetcsv

我正在使用fgetcsv()函数上传CSV文件。现在我遇到三个案例==>

1)CSV文件干净且不包含任何附件        - >例如:姓名,年龄,地址..在这种情况下,文件处理正确并上传

2)CSV文件有"作为圈地        - >例如:"姓名","年龄","地址" ..在这种情况下,正确处理文件是我在fgetcsv()中将双引号作为分隔符传递

3)CSV文件包含'作为圈地        - >例如:'姓名','年龄','地址' ..

  in this scenario, the file is not processed at all and not uploaded. 

我想要实现所有这些情况,意味着包含其中一个机箱的CSV文件然后它应该正常处理。

2 个答案:

答案 0 :(得分:0)

检查fgetcsv()的manual。该函数接受一些可选参数。例如 enclosure (作为第四个参数)。

您需要在3.)案例中使用以下内容:

fgetcsv($handle, 0, ',', "'");

答案 1 :(得分:0)

你可以读取文件的第一个字符,如果等于单引号,请提供'fgetcsv'函数单引号作为封闭字符和副verce

相关问题