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⊙)~沒傳數據就導入');
        }

    }
相關文章
相關標籤/搜索