thinkphp框架表单数组实现图片批量上传功能示例


Posted in PHP onApril 04, 2020

本文实例讲述了thinkphp框架表单数组实现图片批量上传功能。分享给大家供大家参考,具体如下:

今天做一个表单数组实现图片批量上传,js不是很会,在网上找了资料改的,html页面如下:

<script type="text/javascript">
var i = 1;
function addElement(){
 var tr = document.createElement('tr');
 var td1=document.createElement("td");
 var td2=document.createElement("td");
 var td3=document.createElement("td");
 var td4=document.createElement("td");
 var td5=document.createElement("td");
 var td6=document.createElement("td");
 var td7=document.createElement("td");
 td1.innerHTML="<strong>描述:</strong>";
 td2.innerHTML="<textarea name='des[]' ></textarea>";
 td3.innerHTML="<strong>图片:</strong>";
 td4.innerHTML="<input type='text' name='image[]' id='image"+i+"'/><IFRAME name=fo frameBorder=0 height=24 marginHeight=1 marginWidth=1 scrolling=no BORDERCOLOR='#CCCCFF' src='__APP__/Upimg/upimgs/ind/"+i+"' style='vertical-align: middle;'></iframe><span style='color:red'>请上传小于2M的图片</span>";
 td5.innerHTML="<strong>排序:</strong>";
 td6.innerHTML="<input type='text' name='px[]' value='5'/>";
 td7.innerHTML="<a class='editbtn' href='javascript:void(0);' οnclick='addElement()'>增 加</a> | <a class='editbtn' href='javascript:void(0);' οnclick='dropElement()'>删减</a>";
 tr.appendChild(td1);
 tr.appendChild(td2);
 tr.appendChild(td3);
 tr.appendChild(td4);
 tr.appendChild(td5);
 tr.appendChild(td6);
 tr.appendChild(td7);
 tr.id = 'Elem'+i;
 document.getElementById('pdr1').appendChild(tr);
 i++;
}
function dropElement(){
 var aaa = document.getElementById('Elem'+(i-1));
 document.getElementById('pdr1').removeChild(aaa);
 i--;
}
function checkForm()
{
 for(k=i;k>=0;k--)
 {
 if(document.getElementById("image"+k).value=="")
 {
  alert("图片不能空");
  return false;
 }
 }
}
</script>
<div style="margin:20px auto">
<form method="post" name="form1" action="__URL__/insert" οnsubmit="return checkForm();">
<input type="hidden" name="fid" value="{$fid}"/>
<table class="table" cellspacing="1" cellpadding="2" width="90%" align="center"
border="0" id="pdr1">
 <tbody>
  <tr >
   <td width="5%" class="td_bg" align="right"><strong>描述:</strong></td>
   <td class="td_bg" width="25%"><textarea name="des[]"></textarea></td>
    <td width="5%" class="td_bg" align="right"><strong>图片:</strong></td>
   <td class="td_bg" width="25%"> <input type="text" name="image[]" id="image0"/><IFRAME name=fo frameBorder=0 height=24 marginHeight=1 marginWidth=1
            scrolling=no BORDERCOLOR="#CCCCFF"
            src="{:U('Upimg/upimgs','ind=0')}" style="vertical-align: middle;"></iframe>
        <span style="color:red">请上传小于2M的图片</span></td>
    <td width="5%" class="td_bg" align="right"><strong>排序:</strong></td>
   <td class="td_bg" width="20%"><input type="text" name="px[]" value="5"/></td>
    <td width="10%" class="td_bg" align="right"><a class="editbtn" href="javascript:void(0);" rel="external nofollow" rel="external nofollow" οnclick="addElement()">增 加</a> | <a class="editbtn" href="javascript:void(0);" rel="external nofollow" rel="external nofollow" οnclick="dropElement()">删减</a></td>
  </tr>
 </tbody>
</table>
 <input type="submit" name="submit" value=" 添 加 "/>
</form>

在做__APP__/Upimg/upimgs/ind/+ind这段时,刚开始我用的U()函数,但是把js变量i传入U()函数无法解析,所以在这里改为了url方式。

在获取表单数组并插入数据库时用循环遍历并写入数据库:

foreach($data['description'] as $key)
{
  $data1['picid']=$fid;
  $data1['description']=$data['description'][$i];
  $data1['image']=$data['image'][$i];
  $data1['px']=$data['px'][$i];
  $result=$model->add($data1);
  $i++;
}

$data是通过转换来的,可以直接用$_POST,做这个由于不熟悉js,所以在上面花了很多时间,刚开始我是用

var tr = document.createElement('tr');
tr.innerHTML= "<td width='5%' class='td_bg' align='right'><strong>描述:</strong></td>";
tr.innerHTML+= "<td class='td_bg' width='25%'><textarea name='des[]'></textarea></td>";  
tr.id = 'Elem'+i;
document.getElementById('pdr1').appendChild(tr);

但是ie不兼容,后又在网上找了上面的方法。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用在PHP里的JS打印函数
Oct 09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
PHP函数常用用法小结
Feb 08 PHP
php错误、异常处理机制(补充)
May 07 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
php检查字符串中是否有外链的方法
Jul 29 PHP
在WordPress中使用wp-cron插件来设置定时任务
Dec 10 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
PHP数据的提交与过滤基本操作实例详解
Nov 11 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
Apr 23 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 #PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 #PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 #PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 #PHP
phpQuery采集网页实现代码实例
Apr 02 #PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 #PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 #PHP
You might like
附件名前加网站名
2008/03/23 PHP
深入理解PHP原理之异常机制
2010/08/21 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
重命名批处理python脚本
2013/04/05 Python
python在Windows8下获取本机ip地址的方法
2015/03/14 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Django的models中on_delete参数详解
2019/07/16 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
体育教师工作总结的自我评价
2013/10/10 职场文书
医学生自荐信
2013/12/03 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
捐款感谢信
2015/01/20 职场文书
党员评议自我评价
2015/03/03 职场文书
微信早安问候语
2015/11/10 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电