我们在很多时候并不是上传一张图片就可以了需要同时上传N张图片,这个时候该怎么办了?我这里以前写了个例程大家看看,或许可以启发思路!

php提交图片页面程序部分,可以实现动态显示图片的数量:

enctype=”multipart/form-data” method=”post” name=”Form1″

id=”Form1″>

function tbladdrow()

{

var i=lines.rows.length ;

var row = Table1.insertRow(Table1.rows.length);

var col = row.insertCell(0);

col.innerHTML = “

id=imgfile["+i+"] type=’file’ name=imgfile["+i+"]

size=’50′>”;

}

function tbladdrows(items)

{

for( i = 1 ; i <= items ; i++)

{

tbladdrow();

}

}

function delrow()

{

if(lines.rows.length==0)

{

return false ;

}

lines.deleteRow();

}

cellspacing=”1″ bgcolor=”#CCCCCC” id=”from”>

bgcolor=”#FFFFFF”>

bgcolor=”#FFFFFF”>

cellspacing=”0″ width=”60%”>

value=”加一张” οnclick=”tbladdrows(1);” class=”inputbut”

>

type=”button” class=”inputbut” value=”删一张”

LANGUAGE=javascript οnclick=”return delrow()”>

bgcolor=”#FFFFFF”>

name=”Submit” value=” 上传图片

” type=”submit” class=”inputbut”

/>

php图片上传处理页面:

if(!$_FILES['imgfile']){

ShowMsg(“图片选择不能为空!”,-1,0);

exit();

}

$img_dir = “../../upload/”;

// …… html 显示上传界面

$uploaded = 0;

$unuploaded = 0;

//只允许20张图片上传

for ($i=0; $i<=20; $i++)

{

//获取当前图片的信息

$is_file = $_FILES['imgfile']['name'][$i];

//如果当前图片不为空

if (!empty($is_file))

{

//把当前图片的信息存储到变量里

$result[$i] = ”

”. $_FILES['imgfile']['name'][$i]

.”

”.

round($_FILES['imgfile']['size'][$i]/1024, 2)

.”K

”. $_FILES['imgfile']['type'][$i]

.”

”;

// 判断上传的图片的类型是不是jpg,gif,png,bmp中的一种,同时判断是否上传成功

if (

$_FILES['imgfile']['type'][$i] ==

“image/pjpeg” ||

$_FILES['imgfile']['type'][$i] ==

“image/gif” ||

$_FILES['imgfile']['type'][$i] ==

“image/x-png” ||

$_FILES['imgfile']['type'][$i] == “image/bmp”

)

{

//如果上传的文件没有在服务器上存在

if (!file_exists($img_dir . $_FILES['imgfile']['name'][$i]))

{

//把图片文件从临时文件夹中转移到我们指定上传的目录中

move_uploaded_file($_FILES['imgfile']['tmp_name'][$i], $img_dir .

$_FILES['imgfile']['name'][$i]);

$result[$i] .= “成功”;

$db->query(“INSERT INTO itempic (path,itemid) VALUES

(‘/upload/”.$_FILES['imgfile']['name'][$i].”‘,”.$_POST['itemid'].”)”);

$uploaded++;

}

else //如果文件已经在服务器上存在

{

$result[$i] .= “

color=red>文件已存在

”;

$unuploaded++;

continue;

}

}

else

{

$result[$i] .= “

color=red>失败

”;

$unuploaded++;

}

$result[$i] .=

”;

} //end if

} // end for

// 如果没有选择任何图片

if (empty($result))

{

echo”错误信息,没有选择任何图片。”;

exit();

}

// 显示所有上传后的结果

echo ”

class=table width=400 align=left>

align=center>

文件名大小类型上传结果

“;

foreach( $result as $value)

{

echo $value;

}

echo “

共上传 ” . ($uploaded +

$unuploaded) . “, 成功: $uploaded, 失败:

color=red>

$unuploaded

[

title='继续上传'>继续上传

]

“;

?>

http://www.wbphp.cn/html/y2009/1330.html

php批量上传大文件,php实现批量上传图片的技巧相关推荐

  1. 如何解决上传大文件时(批量上传文件)系统卡死宕机的问题

    最近客户反应开发的一个采购管理系统在上传大的文件时会出现宕机卡死的问题,尤其是在进行多文件批量上传.超大文件(几百MB或上GB)上传时极其容易发生.日志信息显示,引发的异常为致命异常 java.lan ...

  2. 七牛云分片批量上传大文件视频

    原本用的element上传组件,结果发现大视频总是失败,还跑出outMemoryError :java heap space 内存溢出,排查:jvm内存默认256m,每次文件上传,用的是muiltip ...

  3. php webuploader大文件,web uploader 上传大文件总结

    由于业务需要,需要上传大文件,已有的版本无法处理IE版本,经过调研,百度的 webuploader 支持 IE 浏览器,而且支持计算MD5值,进而可以实现秒传的功能. 大文件上传主要分为三部分,预上传 ...

  4. 海量上传文件服务器端,bat批量上传ftp文件到服务器

    bat批量上传ftp文件到服务器 内容精选 换一换 服务器上云或云上迁移利用镜像导入功能,将已有的业务服务器制作成镜像后导入到云平台(当前支持vhd.vmdk.qcow2.raw等多种格式),方便企业 ...

  5. ftp服务器批量上传文件,bat批量上传ftp文件到服务器

    bat批量上传ftp文件到服务器 内容精选 换一换 CDM支持周期性自动将新增文件上传到OBS,不需要写代码,也不需要用户频繁手动上传即可使用OBS的海量存储能力进行文件备份.这里以CDM周期性备份F ...

  6. 利用PLUPLOAD上传大文件

    利用PLUPLOAD上传大文件 大容量文件上传早已不是什么新鲜问题,在.net 2.0时代,HTML5也还没有问世,要实现这样的功能,要么是改web.config,要么是用flash,要么是用一些第三 ...

  7. 用ASP.NET上传大文件

    作者:思归     微软MVP   http://blog.joycode.com/saucer/ 我们在上传大文件时都遇到过这样或那样的问题.设置很大的maxRequestLength值并不能完全解 ...

  8. html5 上传超大文件,HTML5教程 如何拖拽上传大文件

    本篇教程探讨了HTML5教程 如何拖拽上传大文件,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < 前言: 大文件传输一直是技术上的一大难点.文件过大时,一些性 ...

  9. php上传图片k,PHP fastcgi模式上传大文件(大约有300多K)报错,

    PHP fastcgi模式上传大文件(大约有300多K)报错, 最近在项目中中上传图片时,大约有300多K,结果报了个服务器错误,以前从未遇到过,错误的内容如下: mod_fcgid: HTTP re ...

最新文章

  1. 【原创】大叔经验分享(65)spark读取不到hive表
  2. TensorFlow数据读取方式:Dataset API,以及如何查看dataset:DatasetV1Adapter的方法
  3. Tungsten Fabric SDN — Service Chain — Heat Templates
  4. 使用EditPlus打造一个Python IDE
  5. Linux下Nginx编译安装过程详解
  6. 基恩士上位机链路通讯_基恩士PLC通讯源码
  7. 《Linux内核分析》 第四节 扒开系统调用的三层皮(上)
  8. 【LeetCode笔记】5.最长回文子串(Java、动态规划、字符串)
  9. Flutter AlertDialog弹框的基本使用、Flutter showDialog方法使用概述
  10. python从文件初始化失败怎么办_尝试打开.csv文件时出现“从文件初始化失败”错误(这根本没有问题)...
  11. Sentinel流控规则_流控等待_分布式系统集群限流_线程数隔离_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0037
  12. idea编辑区光标问题
  13. 旁路电容0.1uF,是怎么来的?
  14. 有道单词本添加js实现自动阅读单词
  15. 太不可思议了,竟然用交通锥当 logo!
  16. 第五讲 交错级数、绝对收敛和条件收敛
  17. mysql世界国家省市地区的信息中英文
  18. 以太坊公链节点连接节点超时问题排查
  19. 关于股票除权复权,前复权、后复权、不复权
  20. 两群羊和一只狼,两只狮子

热门文章

  1. 域名交易谈判技巧:怎么给心仪域名还价?
  2. e680i linux终端,Linux下Telnet E680i经常断的解决方法
  3. 史上最污面试现场直播
  4. excel 合并行列单元格
  5. java 字符串格式替换_[Java] - 格式字符串替换方法
  6. LATEX 箭头合集
  7. Mac 自动化自动操作工作流程(Workflow)完成日常软件文件网页一键打开
  8. (趣味哈哈镜)图像处理算法的实现
  9. 多功能按键的实现方法,单击,双击,三击,短按,长按
  10. html粒子效果原理,HTML5字体动态粒子效果