이 글에서는 Layui 프레임워크에 의한 파일 업로드 구현과 TP3.2.3에 의한 업로드된 파일의 백그라운드 처리 작업을 주로 소개합니다. 파일 업로드 및 처리 작업을 위해 thinkPHP와 결합된 Layui 프레임워크의 관련 구현 기술을 예제 형식으로 분석합니다. 도움이 필요한 친구가 참고할 수 있습니다
이 기사의 예는layui 프레임워크가 파일 업로드를 구현하고 TP3.2.3이 업로드된 파일에 대해 백그라운드 처리 작업을 수행하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
layui 프레임워크는 버전 1.0.9입니다. .
먼저 HTML 페이지 코드는 다음과 같습니다.
<p class="layui-form-item" id="upload_file"> <p class="layui-input-block" style="width: 300px;"> <input type="hidden" id="img_url1" name="HeadImageUrl" value=""/> <p class="layui-upload-drag" id="uploadpic1" lay-verify="uploadpic1"> <p class="layui-col-xs12 layui-col-md12"> <img class="layui-upload-img" id="demo1" > </p> <p class="button-hide"> <input type="file" name="banner_file_upload" id="banner_file_upload" class="layui-uplaod-file" lay-type="file"> </p> </p> </p> </p>
js 코드는 다음과 같습니다.
<script type="text/javascript" th:inline="javascript"> layui.use('upload', function (){ var upload = layui.upload; var url="/Public"; upload({ elem: '#banner_file_upload', url: "/index.php/Admin/Product/upload", method: 'post', before: function(obj){ console.log('文件上传中'); layer.load(); }, success: function (msg) { console.log(msg); if(msg.msg=="success"){ layer.closeAll('loading'); layer.msg("上传成功"); $("#img_url1").attr("value", msg.src); }else if(msg.msg=="error"){ layer.closeAll('loading'); layer.msg(msg.code); } }, error:function (data) { layer.msg("上传失败"); console.log(data); } }); }); </script>
PHP 배경에서 값을 받는 다음 방법:
#上传文件方法 public function upload(){ $res=array( 'code'=>1, 'msg'=>'no sorry', 'data'=>array( 'src'=>'', ) ); #图片存放路径 $directory = C('UPLOAD_PATH')."/Public/docment/"; #判断目录是否存在 不存在则创建 if(!(is_dir($directory))){ $this->directory($directory); } #获取数据库最后一条id 当做文件名称 $product_last_id=D('ApiProduct')->getLastId(); $savename="ApiProduct_".time().'_'.($product_last_id['id']+1); $upload = new \Think\Upload(); $upload->maxSize = 0; $upload->exts = array('doc','docx','xls','xlsx','pdf','txt'); $upload->rootPath = $directory; $upload->saveName="$savename"; $upload->savePath = ''; $info = $upload->uploadOne($_FILES['banner_file_upload']); if(!$info){ $res['code']=$upload->getError(); $res['msg']='error'; }else{ $res['code']=0; $res['msg']='success'; $res['src']="/Public/docment/".$savename.".".$info['ext']; } echo json_encode($res);die; } /** * 递归创建文件 * @author erwa<erwa@qingjinju.net> */ public function directory($dir){ return is_dir ( $dir ) or directory(dirname( $dir )) and mkdir ( $dir , 0777); }
이것이 이 글의 전체 내용입니다. 감사합니다. 읽어주셔서 감사합니다. 자세한 내용은 PHP 중국어 웹사이트를 참고하세요!
관련 권장 사항:
layui는 동적 및 정적 데이터 테이블의 페이징을 구현합니다
위 내용은 Layui 프레임워크는 파일 업로드를 구현하고 TP3.2.3(thinkPHP)은 업로드된 파일에 대한 백그라운드 처리 작업을 수행합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!