首页 > 开发 > PHP > 正文

基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据

2024-05-04 22:34:58
字体:
来源:转载
供稿:网友

废话不多说,直接给大家贴代码了,代码附有注释,相信大家都能看懂的,有不明白的地方欢迎给我留言。

前端HTML+JQuery  备注Jquery需要1.x版本,不能用2.x版本

1.引入必要文件及上传input

 <load file="__PUBLIC__/js/jquery-1.11.3.min.js" /> <load file="__PUBLIC__/uploadify/jquery.uploadify.min.js" /> <load file="__PUBLIC__/uploadify/uploadify.css" /><input type="file" class="" id="student" name="student">

2.uploadify使用操作

<script> $(function(){ //ThinkPHP上传地址 var upload = "{:U(MODULE_NAME.'/Student/upload')}"; //ThinkPHP sessionID的提交变量 //'VAR_SESSION_ID'=>'session_id',在ThinkPHP/Conf/convention.php中进行配置,默认关闭的需要开启 var sid = '{:session_id()}'; //导入数据地址 var daoruUrl = "{:U(MODULE_NAME.'/Student/daoruHandle')}" //Amaze ui 模态框 var modal = $('#my-modal-loading'); //uploadify使用方法 $('#student').uploadify({  'swf'  : '__PUBLIC__/uploadify/uploadify.swf',  'uploader' : upload,  'buttonText' : '选择文件...',  'width':120,  'height':30,  'formData':{'session_id':sid},  'fileTypeExts':'*.xls',  //开始上传弹出模态框  'onUploadStart' : function(file) {  $('#alert-content').html('正在上传文件');   modal.modal();  },  //上传成功关闭模态框,并用后台函数导入数据  'onUploadSuccess':function(file, data, response){  $('#alert-content').html('正在导入数据');  data = eval("("+data+")");  $.ajax({   type: 'POST',   url: daoruUrl,   data: {'file':data.file},   success: function(retdata){   modal.modal('close');   if(retdata==1){    alert('导入成功');   }else{    alert('导入失败');   }   },   dataType: 'json'  });  } }); }); </script>

3、ThinkPHP控制器上传操作:备注需要引入Upload.class.php空间

 function upload(){  $config = array(   'maxSize' => 3145728,   'rootPath' => './Uploads/',   'savePath' => '',   'saveName' => array('uniqid',''),   'exts'  => array('xls'),   'autoSub' => true,   'subName' => array('date','Ymd'),   );  $upload = new Upload($config);  // 上传文件   $info = $upload->upload();  if(!$info) {// 上传错误提示错误信息   $this->error($upload->getError());  }else{// 上传成功 获取上传文件信息   $file = $info['Filedata']['savepath'].$info['Filedata']['savename'];  }  //p($info);  $data = array(   'file'=>'./Uploads/'.$file,   );  echo json_encode($data); }

4.导入数据进去mysql

//导入数据处理 function daoruHandle(){  $file = I('file');  $excelData = excel_to_mysql($file);  foreach($excelData['data'] as $row){   $data = array(    'xuehao'=>$row['xuehao'],    'xingming'=>$row['xingming'],    'xingbie'=>($row['xingbie']=='男')?1:0,    'mima'=>md5($row['mima']),    );   M('student')->add($data);  }  echo 1; }            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表