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模块 Memcached功能多于Memcache
Jun 14 PHP
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
php实现多张图片上传加水印技巧
Apr 18 PHP
php变量作用域的深入解析
Jun 03 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
MongoDB在PHP中的常用操作小结
Feb 20 PHP
php文件读取方法实例分析
Jun 20 PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
Sep 26 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定时执行任务实现方法详解(Timer)
2015/07/30 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
JS截取字符串常用方法详细整理
2013/10/28 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
用Python进行行为驱动开发的入门教程
2015/04/23 Python
解析Python中while true的使用
2015/10/13 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
django解决订单并发问题【推荐】
2019/07/31 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
np.dot()函数的用法详解
2020/01/17 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
python 读取、写入txt文件的示例
2020/09/27 Python
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
2014春晚主持词
2014/03/25 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL