欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于PHP解析导入CSV文件的问题

程序员文章站 2022-06-11 08:57:45
...

事情的经过是这个样子的

像往常一样,来到公司打开电脑,准备工作,这时来了一条微信消息,说导入的功能报错了,于是乎,我开始判断程序是不是哪里出问题了。拿着传给我的csv文件开始测验。

== 一步步测试,先查询是否导入时是否获取csv文件中的数据,结果打印出来的界面是这个样子的==

关于PHP解析导入CSV文件的问题
这是什么情况呢?

然后就开始百度搜查,验证,
1.为什么会出现乱码呢?
2.是什么原因导致的呢?
3.跟csv里的工作表个数有关系吗?
关于PHP解析导入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;
    }

各种尝试,各种修改,都无效,感觉人生崩溃了,我该怎么办???
关于PHP解析导入CSV文件的问题关于PHP解析导入CSV文件的问题

最后突然顿悟了,会不会是给我的csv文件是有问题的呢,于是自己新建了一个test.csv里面的内容如下:

姓名 年龄 性别
张三 18
李四 20
王五 22

然后继续运行代码解析csv内容,解析内容如下:
关于PHP解析导入CSV文件的问题

至此,我才恍然大悟,原来不是我的程序出现了问题,而是给我的csv文件的问题。

看来我的解题思路还是不够全面啊,这也算是给我敲了个响钟,遇到问题不能钻牛角尖,一条路走不通,就换条路走,说不定就守得云开见月明了。

相关标签: PHP csv php