关于PHP解析导入CSV文件的问题
程序员文章站
2022-06-11 08:57:45
...
事情的经过是这个样子的
像往常一样,来到公司打开电脑,准备工作,这时来了一条微信消息,说导入的功能报错了,于是乎,我开始判断程序是不是哪里出问题了。拿着传给我的csv文件开始测验。
== 一步步测试,先查询是否导入时是否获取csv文件中的数据,结果打印出来的界面是这个样子的==
这是什么情况呢?
然后就开始百度搜查,验证,
1.为什么会出现乱码呢?
2.是什么原因导致的呢?
3.跟csv里的工作表个数有关系吗?
各种网上查询,最终跟我写的都是差不多一样的啊
public function actionCsv()
{
$fileName = "test.csv";
$handle = fopen($fileName, 'r');
$result = self::input_csv($handle); //解析csv
var_dump($result);
}
private function input_csv($handle)
{
$out = array ();
$n = 0;
while ($data = fgetcsv($handle))
{
$num = count($data);
for ($i = 0; $i < $num; $i++)
{
$out[$n][$i] = iconv('gbk','utf-8',$data[$i]);
}
$n++;
}
return $out;
}
各种尝试,各种修改,都无效,感觉人生崩溃了,我该怎么办???
最后突然顿悟了,会不会是给我的csv文件是有问题的呢,于是自己新建了一个test.csv里面的内容如下:
姓名 | 年龄 | 性别 |
---|---|---|
张三 | 18 | 男 |
李四 | 20 | 女 |
王五 | 22 | 男 |
然后继续运行代码解析csv内容,解析内容如下:
至此,我才恍然大悟,原来不是我的程序出现了问题,而是给我的csv文件的问题。
看来我的解题思路还是不够全面啊,这也算是给我敲了个响钟,遇到问题不能钻牛角尖,一条路走不通,就换条路走,说不定就守得云开见月明了。
上一篇: 今天开始学PHP-关于时间函数
下一篇: 笔记本和台式机CPU有什么不同?