博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP 文件上传处理
阅读量:5275 次
发布时间:2019-06-14

本文共 2997 字,大约阅读时间需要 9 分钟。

//上传文件    public function uploadFile(){        $upload  = new \Think\Upload();        $savename = date('Y-m-d').'-'.time();//使用date('Y-m-d H:i:s')作为文件名,因含有冒号,文件就无法保存了,文件名不可含有冒号:        $upload ->exts = array('xls','xlsx');        $upload ->rootPath = 'Public/sxwx/policytracking/';        $upload ->autoSub = false;//是否开启子目录进行保存,默认开启        $upload ->saveName = $savename;        $info = $upload ->upload();        if (!$info) {           $this->backMsg('0','文件格式有误');        }        //导入成功        vendor("PHPExcel.PHPExcel");        $excel = new \PHPExcel();        vendor("PHPExcel.Classes.PHPExcel.Reader.Excel5");        vendor("PHPExcel.Classes.PHPExcel.Reader.Excel2007");        $file = 'Public/sxwx/policytracking/'.$info['excel']['savename'];                $phpReader = new \PHPExcel_Reader_Excel5();//xls格式的表格        $ext = $info['excel']['ext'];//获取文件的后缀名,传过来的字段名为excel        if ($ext=='xlsx') {             $phpReader = new \PHPExcel_Reader_Excel2007();//xlsx格式的表格        }        $objPHPExcel = $phpReader ->load($file);//读取文件内容        /*表格格式            投保单号 保单状态 状态原因 回复处理方式 新契约下发时间 处理完成时间 业务员姓名        */               $sheet = $objPHPExcel->getSheet(0);         // 取得总行数         $highestRow = $sheet->getHighestRow();             // 取得总列数              $highestColumn = $sheet->getHighestColumn();         //循环读取excel文件,读取一条,插入一条        $data=array();        //从第三行开始读取数据,第一行名字,第二行字段名        for($j=3;$j<=$highestRow;$j++){            //从A列读取数据            for($k='A';$k<=$highestColumn;$k++){                // 读取单元格                $cellVal = $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();                $data[$j][]=$cellVal;            }        }        $stateTab = M('sxwx_policy_state');        $stateTab ->startTrans();        foreach ($data as $key => $value) {            $add['toubao_num'] = $value[0];            $add['policy_state'] = $value[1];            $add['state_reason'] = $value[2];            $add['response_type'] = $value[3];            $add['assign_time'] = gmdate('Y-m-d',intval(($value[4]-25569)*3600*24));//excel读取日期时间有问题,转化为日期            $add['completed_time'] = gmdate('Y-m-d',intval(($value[5]-25569)*3600*24));//excel读取日期时间有问题,转化为日期            $add['record_name'] = $value[6];            $exist = $stateTab ->where($add) ->find();            if (!$exist) {                $res[] = $stateTab ->add($add,array(),true);            }        }        foreach ($res as $key => $value) {            if ($value === false) {                $stateTab ->rollback();            }        }        $stateTab ->commit();        $this -> backMsg('1','数据批量导入成功');    }private function backMsg($code,$desc){        $ret['code'] = $cdoe;        $ret['desc'] = $desc;         $this ->ajaxReturn($ret);        }
$add['assign_time'] = gmdate('Y-m-d',intval(($value[4]-25569)*3600*24));//excel读取日期时间有问题,转化为日期$add['completed_time'] = gmdate('Y-m-d',intval(($value[5]-25569)*3600*24));//excel读取日期时间有问题,转化为日期

转载于:https://www.cnblogs.com/sentongxue/p/9737384.html

你可能感兴趣的文章