<a href="javascript:void(0);" url="{:U('teacherd?id='.$vo['id'])}" class="teacherd" uid="{$vo.id}"><if condition="$vo.spstatus eq 0" >上傳批閱<else /> 已批閱 </if></a> $(".teacherd").click(function () { var $this=$(this); var id = $(this).attr("uid"); var url = $(this).attr('url'); var p_id = "{:I('p_id')}"; var display = 'none'; var src = ''; var content = '<div class="margin_left_10" style="margin:20px;"><input type="hidden" name="id" value="' + id + '" ><div class="form-item"><div class="controls"><label class="label">上傳文件:<span class="check-tips" id="picture-size"></span></label><input type="file" id="upfile"><input type="hidden" name="photo" id="cover_id_picture_id"/><div class="upload-img-box"><div class="upload-pre-item" style="display:' + display + ';"><img src="' + src + '"/></div></div></div></div></form></div>'; layer.open({ type: 1, title: '上傳審批', content: content, closeBtn: 2, area: ['350px', '250px'], btn: '確定', yes: function () { var fd = new FormData(); var uname = $('#upfile').val().split('.'); //獲取上傳文件名並拆封成數組(獲取后綴) if((uname[1] != 'docx') && ( uname[1] != 'doc')){ alert(uname[1]); return false; } fd.append("upload", 1); fd.append("id", id); //將id傳入 fd.append("p_id",p_id); //p_id fd.append("upfile", $("#upfile").get(0).files[0]); $.ajax({ url: "{:U('uploadss')}", type: "POST", processData: false, contentType: false, data: fd, success: function (d) { if(d.code == 200){ $(".layui-layer-shade").hide(); $(".layui-layer-page").hide(); $(".bac").fadeIn(); $(".bac1").html("上傳成功") $this.html("已審批") }else{ $("#layui-layer-shade1").hide(); $("#layui-layer1").hide(); $(".bac").fadeIn(); $(".bac1").html("上傳失敗") } // console.log(d); } }) } }) }); $(".closeA").on("click",function(){ $(".bac").fadeOut() }) $(".layui-layer-btn0").on("click",function(){ $(".layui-layer-shade").hide(); $(".layui-layer-page").hide(); })
后台代碼:
/* * 上傳審批 * Carey */ public function uploadss() { $id = $_POST['id']; //id $p_id = $_POST['p_id']; $exam_listsDB = M('exam_lists'); $username = $exam_listsDB->where(array('id' => $id))->getField('username'); $username = iconv("UTF-8", "gb2312", $username); //轉碼utf8 $saveName = $username . '_' . $p_id . '_' . $id; //文件命名規則考場p_id_用戶id; $rootpath = '../Public/Uploads/examsp/kc' . $p_id . '/'; mkdir($rootpath, 0755); $upload = new \Think\Upload(); // 實例化上傳類 $upload->maxSize = 3145728; // 設置附件上傳大小 3M $upload->exts = array('application/msword', 'doc', 'docx'); // 設置附件上傳類型 $upload->rootPath = $rootpath; // 設置附件上傳根目錄 // 上傳文件 $upload->autoSub = TRUE; //自動生成子目錄 $upload->subName = 'py'; $upload->saveName = $saveName; //根據p_id-id $upload->replace = TRUE; //存在同名是否覆蓋 true覆蓋 $info = $upload->uploadOne($_FILES['upfile']); if (!$info) {// 上傳錯誤提示錯誤信息 $redata = array( 'code' => 303, 'info' => $info, 'files' => $_FILES, 'id' => $id, 'p_id' => $p_id, 'username' => $username, ); } else { // 上傳成功 $info['savename'] = iconv("gb2312", "UTF-8", $info['savename']); //轉碼utf8 $cha_dourl['cha_dourl'] = 'Public/Uploads/examsp/' . $info['savepath'] . $info['savename']; $cha_dourl['sptime'] = time(); $cha_dourl['spstatus'] = 1; /* 如果上傳成功更新表單數據 */ $upda = $exam_listsDB->where(array('id' => $id))->save($cha_dourl); if ($upda) { $redata = array( 'code' => 200, 'info' => $info, 'files' => $_FILES, 'id' => $id, 'p_id' => $p_id, 'upda' => $upda, ); } else { $redata = array( 'code' => 404, 'info' => $info, 'files' => $_FILES, 'id' => $id, 'p_id' => $p_id, 'upda' => $upda, ); } } $this->ajaxReturn($redata); }