TP5怎样实现多张图片上传功能?

Admin 2021-05-08 群英技术资讯 467 次浏览

        在做开发时,我们可能会遇到需要上传多张图片的需求,那么我具体要如何来实现呢?下面小编就给大家分享一下如何使用TP5框架实现上传多张图片的方法,感兴趣的朋友可以看一看。

        1、效果图(每点击一次‘添加选项',就会有一个新的 file 框来添加新的图片)

        2、view

<!--不要忘了引入jquery文件-->
<!-- post传值方式和文件传输协议一定要加上 -->
<input type="file" name="image[]">
<input type="button" id="add" name="add" value="+ 添加选项">
<button type="submit" name="submit">添加</button>
 
<script type="text/javascript">
  $("#add").click(function(){
    $(this).before('<input type="file" name="image[]">');
  });
</script>
 

        3、controller

//接收从view来的图片数组
$image=request()->file('image');
 
//实例化模型,并调用里面的添加图片的方法
$details = new Details();
$info = $details->add($image);
if($info === 1)
{
  return '操作成功';
}
else
{
  return '操作失败';
}
 

        4、model

//将接收到的 $image foreach遍历添加
foreach($image as $image)
{
  //实例化模型
  $details = new Details();
  $time=date('Ymd',time());
  //将当前的时间戳定义为文件名
  $filename=time();
  //检测是否存在存放图片的文件夹
  if(!file_exists(ROOT_PATH . 'public' . DS .'static'. DS .'img'))
  {
    //创建文件
    mkdir(ROOT_PATH . 'public' . DS .'static'. DS .'img');
  }
  //上传图片
  $info=$image->move(ROOT_PATH . 'public' . DS .'static'. DS .'img'.DS.$time,$filename);
  //将图片路径存放在数据库中
  $details->url = $time.DS.$info->getFileName();
  $details->allowField(true)->save();
}
return 1;
 

        以上就是关于TP5实现多张图片上传的介绍,上述示例有一定的借鉴价值,有需要的朋友可以参考一下,希望文本对大家学习有帮助。

群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服