• 售前

  • 售后

热门帖子
入门百科

layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件举行后台处理利用示例

[复制链接]
聪聪451 显示全部楼层 发表于 2021-10-25 20:16:49 |阅读模式 打印 上一主题 下一主题
本文实例报告了layui框架实现文件上传及TP3.2.3对上传文件进行背景处理操作。分享给大家供大家参考,具体如下:
layui框架是1.0.9版本。。
起首html页面代码如下:
  1. <div class="layui-form-item" id="upload_file">
  2.      <div class="layui-input-block" style="width: 300px;">
  3.       <input type="hidden" id="img_url1" name="HeadImageUrl" value=""/>
  4.       <div class="layui-upload-drag" id="uploadpic1" lay-verify="uploadpic1">
  5.         <div class="layui-col-xs12 layui-col-md12">
  6.           <img class="layui-upload-img" id="demo1" >
  7.         </div>
  8.         <div class="button-hide">
  9.           <input type="file" name="banner_file_upload" id="banner_file_upload" class="layui-uplaod-file"  lay-type="file">
  10.         </div>
  11.       </div>
  12.     </div>
  13. </div>
复制代码
js代码如下:
  1. <script type="text/javascript" th:inline="javascript">
  2.      layui.use('upload', function (){
  3.        var upload = layui.upload;
  4.        var url="__PUBLIC__";
  5.        upload({
  6.          elem: '#banner_file_upload',
  7.          url: "/index.php/Admin/Product/upload",
  8.          method: 'post',
  9.          before: function(obj){
  10.            console.log('文件上传中');
  11.            layer.load();
  12.          },
  13.          success: function (msg) {
  14.            console.log(msg);
  15.            if(msg.msg=="success"){
  16.              layer.closeAll('loading');
  17.              layer.msg("上传成功");
  18.              $("#img_url1").attr("value", msg.src);
  19.            }else if(msg.msg=="error"){
  20.              layer.closeAll('loading');
  21.              layer.msg(msg.code);
  22.            }
  23.          },
  24.          error:function (data) {
  25.            layer.msg("上传失败");
  26.            console.log(data);
  27.          }
  28.        });
  29.      });
  30. </script>
复制代码
接下来的php背景接值的方法:
  1. #上传文件方法
  2. public function upload(){
  3.     $res=array(
  4.      'code'=>1,
  5.      'msg'=>'no sorry',
  6.       'data'=>array(
  7.         'src'=>'',
  8.       )
  9.     );
  10.     #图片存放路径
  11.     $directory = C('UPLOAD_PATH')."/Public/docment/";
  12.     #判断目录是否存在 不存在则创建
  13.     if(!(is_dir($directory))){
  14.       $this->directory($directory);
  15.     }
  16.     #获取数据库最后一条id 当做文件名称
  17.     $product_last_id=D('ApiProduct')->getLastId();
  18.     $savename="ApiProduct_".time().'_'.($product_last_id['id']+1);
  19.     $upload = new \Think\Upload();
  20.     $upload->maxSize = 0;
  21.     $upload->exts = array('doc','docx','xls','xlsx','pdf','txt');
  22.     $upload->rootPath = $directory;
  23.     $upload->saveName="$savename";
  24.     $upload->savePath = '';
  25.     $info = $upload->uploadOne($_FILES['banner_file_upload']);
  26.     if(!$info){
  27.       $res['code']=$upload->getError();
  28.       $res['msg']='error';
  29.     }else{
  30.       $res['code']=0;
  31.       $res['msg']='success';
  32.       $res['src']="/Public/docment/".$savename.".".$info['ext'];
  33.     }
  34.    echo json_encode($res);die;
  35. }
  36. /**
  37. * 递归创建文件
  38. * @author erwa<erwa@qingjinju.net>
  39. */
  40. public function directory($dir){
  41.     return is_dir ( $dir ) or directory(dirname( $dir )) and mkdir ( $dir , 0777);
  42. }
复制代码
更多关于thinkPHP干系内容感爱好的读者可查察本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序筹划有所帮助。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作