TP5.0上传添加数据库

视图:
<form method="post" action="{:url('emp/addexcel')}"  enctype="multipart/form-data">
				    <input name="file_stu" type="file" >
				    <button class="btn btn-sm btn-primary ">导入</button>
				</form>
控制器:public function addExcel() {
        if (!empty($_FILES['file_stu']['name'])) {
            //获取表单上传文件
            vendor("PHPExcel.PHPExcel"); //方法一
            $objPHPExcel = new \PHPExcel();
            $file = request()->file('file_stu');
            $info = $file->validate(['size' => 15678, 'ext' => 'xlsx,xls,csv'])->move(ROOT_PATH . 'public' . DS . 'Excel');
            if (!$info) {
                // 上传错误提示错误信息
                $this->error($upload->getError());
            } else {
                $exclePath = $info->getSaveName(); //获取文件名
                $file_name = ROOT_PATH . 'public' . DS . 'Excel' . DS . $exclePath; //上传文件的地址
                $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
                $obj_PHPExcel = $objReader->load($file_name, $encode = 'utf-8'); //加载文件内容,编码utf-8

                $excel_array = $obj_PHPExcel->getsheet(0)->toArray(); //转换为数组格式
                array_shift($excel_array); //删除第一个数组(标题);
                $data = [];
                $i = 0;
                foreach ($excel_array as $k => $v) {
                    $data[$k]['realname'] = $v[0];
                    $data[$k]['d_id'] = $v[1];
                    $data[$k]['username'] = 'employee';
                    $data[$k]['password'] = '111111';
                    $data[$k]['r_id'] = 4;
                    $data[$k]['statu'] = 0;
                    $data[$k]['addtime'] = date('Y-m-d h:m:s', time());
                    $i++;
                }
                $success = Db::table('user')->insertAll($data); //批量插入数据
                //$i=
                $error = $i - $success;
                // echo "总{$i}条,成功{$success}条,失败{$error}条。";

            }
            $this->success('导入数据库' . $success . '条,成功。' . $error . '失败', 'emp/list');
        } else {

            $this->error('(⊙o⊙)~没传数据就导入');
        }

    }
相关文章
相关标签/搜索