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 相关文章推荐
做一个有下拉功能的留言版
Oct 09 PHP
PHP+DBM的同学录程序(5)
Oct 09 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
Mar 28 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
php实现分页工具类分享
Jan 09 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
Smarty环境配置与使用入门教程
May 11 PHP
yii2中关于加密解密的那些事儿
Jun 12 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 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中防止伪造跨站请求的小招式
2011/09/02 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
简单了解django文件下载方式
2020/02/10 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
Wallis官网:英国女装零售商
2020/01/21 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
中秋节超市促销方案
2014/01/30 职场文书
戒赌保证书
2015/05/11 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python