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 相关文章推荐
提问的智慧(2)
Oct 09 PHP
php 生成随机验证码图片代码
Feb 08 PHP
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
PHP中获取文件扩展名的N种方法小结
Feb 27 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
yii实现创建验证码实例解析
Jul 31 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
php分页查询的简单实现代码
Mar 14 PHP
PHP用PDO如何封装简单易用的DB类详解
Jul 30 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
PHP实现网上点歌(二)
2006/10/09 PHP
PHP 面向对象实现代码
2009/11/11 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
文职个人求职信范文
2013/09/23 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
激励员工的口号
2014/06/16 职场文书
统计学教授推荐信
2014/09/18 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL