知识学习

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 432|回复: 0

thinkphp的同步上传图片和异步上传图片

[复制链接]

升级   100%

152

主题

152

帖子

734

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
734
发表于 2022-9-27 22:22:24 | 显示全部楼层 |阅读模式
同步上传:
前台页面:
  1. <div class="form-div">
  2.             <form action="{:url('index/i/edit_head_img_cl')}" enctype="multipart/form-data" method="post">
  3.                 <input type="file" name="image" accept="image/gif, image/jpg ,image/png"/> <br>
  4.                 <p style="color:red">仅支持不大于5m,后缀为jpg,png,gif的图片</p>
  5.                 <input type="submit" value="上传" />
  6.             </form>
  7.         </div>
复制代码
后台页面:
  1. //处理头像修改
  2.     public function edit_head_img_cl(){

  3.       //检验用户是否登陆,并获取user_id
  4.       if($this->check_log['ok'] == '-1'){
  5.         $this->error($this->check_log['error']);
  6.       }
  7.       $user_id = $this->check_log['id'];
  8.       echo '1';
  9.       // 获取表单上传文件 例如上传了001.jpg
  10.       $file = request()->file('image');
  11.       echo '2';
  12.       // 移动到框架应用根目录/public/uploads/ 目录下
  13.       if($file){
  14.           $info = $file->validate(['size'=>5242880,'ext'=>'jpg,png,gif'])->move('static/uploads/');
  15.           if($info){
  16.               // 成功上传后 获取上传信息
  17.               // 输出 jpg
  18. /*              echo $info->getExtension();
  19.               // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
  20.               echo $info->getSaveName();
  21.               // 输出 42a79759f284b767dfcb2a0197904287.jpg
  22.               echo $info->getFilename(); */
  23.               $ing_url = $info->getSaveName();
  24.               //把url写进头像
  25.               $res = UserDB::update(['id'=>$user_id,'head_img'=>$ing_url]);
  26.               if(!$res){
  27.                 echo '系统故障,更换头像失败';
  28.               }else{
  29.                 echo '<script type="text/javascript">parent.location.reload();</script>';
  30.               }


  31.           }else{
  32.               // 上传失败获取错误信息
  33.               echo $file->getError();
  34.           }
  35.       }else{
  36.         echo request()->post('image');
  37.       }
  38.     }
复制代码
异步上传:
前台页面:
  1. <tr>
  2.                                 <td>头像(异步上传):</td>
  3.                                 <td>
  4.                                     {if $user.head_img == ''}
  5.                                         <img src="__STATIC__/uploads/{$site_setup.default_img}" style=" 50px;height: 50px;" class="head-img">
  6.                                     {else/}
  7.                                         <img src="__STATIC__/uploads/{$user.head_img}" style=" 50px;height: 50px;" class="head-img">
  8.                                     {/if}
  9.                                 </td>
  10.                                 <td>
  11.                                     <input type="file" multiple="multiple" id="inputfile" name="" class="photo">

  12.                                     
  13.                                 </td>
  14.                             </tr>
复制代码
  1. <script>
复制代码
  1. //处理头像修改(异步)
  2.     public function edit_head_img_cl_yb(){

  3.       //检验用户是否登陆,并获取user_id
  4.       if($this->check_log['ok'] == '-1'){
  5.         return ['ok'=>'-1','message'=>$this->check_log['error']];
  6.       }
  7.       $user_id = $this->check_log['id'];

  8.       // 获取表单上传文件 例如上传了001.jpg
  9.       $file = request()->file('image');

  10.       // 移动到框架应用根目录/public/uploads/ 目录下
  11.       if($file){
  12.           $info = $file->validate(['size'=>5242880,'ext'=>'jpg,png,gif'])->move('static/uploads/');
  13.           if($info){
  14.               // 成功上传后 获取上传信息
  15.               // 输出 jpg
  16. /*              echo $info->getExtension();
  17.               // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
  18.               echo $info->getSaveName();
  19.               // 输出 42a79759f284b767dfcb2a0197904287.jpg
  20.               echo $info->getFilename(); */
  21.               $ing_url = $info->getSaveName();
  22.               //把url写进头像
  23.               $res = UserDB::update(['id'=>$user_id,'head_img'=>$ing_url]);
  24.               if(!$res){
  25.                 return ['ok'=>'-1','message'=>'系统故障,更换头像失败'];

  26.               }else{
  27.                  return ['ok'=>'1','message'=>'上传成功!','url'=>$ing_url];
  28.               }


  29.           }else{
  30.               // 上传失败获取错误信息
  31.               return ['ok'=>'-1','message'=>$file->getError()];
  32.           }
  33.       }else{
  34.         return ['ok'=>'-1','message'=>'没有接收到图片!'];
  35.       }
  36.     }
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|知识学习 ( 鲁ICP备20015483号 )

GMT+8, 2024-5-18 20:20 , Processed in 0.065260 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表