这里面不允许通过扩张名。怕别人改扩张名
还有我安装里面是否包含逗号不行,因为有的文件是读出的内容也是乱码?结果它就会把乱码读成逗号?
而且我需要判断.csv文件的严谨方法和理论,不能想当然的。其实仅按逗号肯定是不严谨的啊,其实是乱码可能变成逗号,其二一个文件里面有一个逗号算是合格的csv文件了谢谢,求高手
还有我安装里面是否包含逗号不行,因为有的文件是读出的内容也是乱码?结果它就会把乱码读成逗号?
而且我需要判断.csv文件的严谨方法和理论,不能想当然的。其实仅按逗号肯定是不严谨的啊,其实是乱码可能变成逗号,其二一个文件里面有一个逗号算是合格的csv文件了谢谢,求高手
http://php.net/manual/en/function.str-getcsv.php
用是否error来判断
array str_getcsv ( string $input [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]] )
返回数组 非error
考虑到内容中可能存在逗号(此时内容需要用引号括起),当检测到80%以上行的列分隔符数量相等时,就可认为是合格的csv文件另外非标准的csv,即字符类型的内容未用双引号括起的csv。至少在 php5.3 for win 是无法用
fgetcsv 或 str_getcsv 函数正确读取的
编辑本段
规则 1 开头是不留空,以行为单位。
2 可含或不含列名,含列名则居文件第一行。
3 一行数据不垮行,无空行。
4 以半角逗号(即,)作分隔符,列为空也要表达其存在。
5 列内容如存在半角逗号(即,)则用半角引号(即"")将该字段值包含起来。
6 列内容如存在半角引号(即")则应替换成半角双引号("")转义,并用半角引号(即"")将该字段值包含起来。
7 文件读写时引号,逗号操作规则互逆。
8 内码格式不限,可为 ASCII、Unicode 或者其他。
9 不支持特殊字符
这个是值得思考和调研的一个问题。
乱码只是若干字节不能在指定的字符集(比如GB2312)里显示而已。
要是你的一个word里面也有逗号,你读出内容,请问你知道这个逗号是分割符还是有效字符吗?
你可以按照逗号来读取一个.csv文件但是你仅用有没有逗号来区别是不是。csv文件 这个太牵强。理由太不充分这个逗号不是充要条件
建议你还是看看CSV的格式标准吧。逗号就是分隔符,内容中有逗号要用""括起来如果有引号的要转义。
比如:以下格式就是合法的
1, "2,3", "3,4"str_getcsv这样的csv函数都是实现这些标准的,并没有人说它的实现就是逗号分割