如何使用PHP语言解析csv文件
小标 2018-07-04 来源 : 阅读 868 评论 0

摘要:本文主要向大家介绍了如何使用PHP语言解析csv文件,通过具体的实例向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了如何使用PHP语言解析csv文件,通过具体的实例向大家展示,希望对大家学习php语言有所帮助。

php解析csv文件:php怎么解析csv文件呢?有什么方法呢?希望下面的文章对大家有所帮助。

public function actionImport() {
     //post请求过来的
        $fileName = $_FILES['file']['name'];
        $fileTmpName = $_FILES['file']['tmp_name'];
        //判断是否选择了上传的文件
        if (empty($fileName)) {
            $data['message'] = "请选择要上传的文件";
            return $this->render("batch_add", $data);
        }
        //判断选择上传的文件是不是csv格式
        if (explode(".", $fileName)[1] != "csv") {
            $data['message'] = "请选择csv格式的文件上传";
            return $this->render("batch_add", $data);
        }
 
        //创建一个空数组,预放imageUrl
        $imageCollection = [];
        //打开要读的文件
        $handle = fopen($fileTmpName, 'r');
        //解析csv文件
        while (!feof($handle)) {
            //fgets方法按行读
            $result = fgets($handle);
            //判断读到的每一行是否有值
            if (!empty($result)) {
                $arrResult = explode(",", $result);
                $name = $arrResult[0];
                $age = $arrResult[1];
                $gender = $arrResult[2];
                //图片的原路径
                $imagePath = $arrResult[3];
                //图片的名字
                $image = basename($imagePath);
 
                $data['message'] = Person::savePerson($name, $age, $gender, $image);
 
                if ($data['message'] == 'add successful') {
                    //将每个图片的uri放到数组中
                    array_push($imageCollection, $imagePath);
                }
            }
        }
        //关闭文件流
        fclose($handle);
 
        //关闭文件流之后才能上传图片,注意:流和流是不能嵌套使用的
        if (!empty($imageCollection)) {
 
            foreach ($imageCollection as $value) {
                //将图片上传到服务器上
                move_uploaded_file($imagePath, dirname(__DIR__) . '/web/images/'.date("Ymd").'/'.$image);
            }
        }
        return $this->render("batch_add", $data);
    }

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程