注意:我首先要说的是,我知道我可能错过了一些非常明显的东西.我在其中一个编码阴霾中,我看不到简单的解决方案.
问题:我在PHP中编写了一个脚本来解析.csv文件,选择包含电子邮件地址的列,并将它们放入数据库中.现在,我发现用户正在尝试上传具有.csv文件类型但实际上不以逗号分隔的文件.我正在尝试编写一个能够正确确定分隔符(制表符,新行,空格等)的函数,但是遇到了一些问题.我想我想获得所有这些地址的数组,以便键的数量可以增加该分隔符的可信度.
代码:
$filename = "../some/path/test.csv";
if (($handle = fopen($fileName, "r")) !== FALSE) {
$delimiters = array(',', ' ', "\t", "\n");
$delimNum = 0;
foreach ($delimiters as $delimiter) {
$row = 0;
while (($data = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
$data = (string)$data[0];
$delimiterList[$delimNum] = explode($delimiter, $data);
$row++;
}
$delimNum++;
}
die(print_r($delimiterList));
}
结果:
Array
(
[0] => Array
(
[0] => email
peter.parker@example.com
atticus.finch@example.com
steve.rogers@example.com
phileas.fogg@example.com
s.winston@example.com
paul.revere@example.com
fscott.fitzgerald@example.com
jules.verne@example.com
martin.luther@example.com
ulysses.grant@example.com
tony.stark@example.com
)
)
就像我说的,我知道这可能是错误的方法,所以我很感谢您提供的任何见解!
解决方法:
但是,由于他们可能不知道哪个制表符分隔,CSV等等,只是向他们展示预览.他们可以从选项中选择,直到输出看起来正确和表格.
然后根据选择的格式解析它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。