HTML5 多图上传

HTML5 多图上传

时间 2014-06-05 16:06:29  月小升博客

原文  http://java-er.com/blog/html5-many-image-upload/

主题 HTML5

一次选择多张照片,你是不是要这样的效果 

刚刚研究完FLASH的多图上传,不过 html5 这么时髦的东西,也得研究下。

研究了半天发现 html5 其实特别简单。

多图控件<input id="fileImage" type="file" size="30" name="files[]" multiple />
multiple 这个input的特性是html5新有的,所以IE6这么低级的货是无法兼容的。

这个属性相当于以前的这样的 多图 情况

<input id="fileImage" type="file" size="30" name="files[]" >
<input id="fileImage" type="file" size="30" name="files[]" >
<input id="fileImage" type="file" size="30" name="files[]" >
不过道理很简单一个是一次只能选择一个图片

HTML5的这个可以选择多个图片,拉风啊。

后台代码不变。

function getimgmany($rr,$upload_image_dir)
{
  $fs = $_FILES[$rr];
  $imgnames = array();

  for($i=0;$i<count($fs[‘name‘]);$i++)
  {
    //得到扩展名

    $pathinfo = pathinfo($_FILES[$rr][‘name‘][$i]);

    if($fs[‘size‘]==0)continue;

      //检查文件扩展名,看是否是支持的图片格式
      $fileextname = "jpg|gif|png|jpeg|bmp";
      if($type=="file")
      {
        $fileextname.="|txt|sql|html|htm|pdf|chm|rar|zip|doc|xls";
      }
      echo $pathinfo["extension"];
      if( !preg_match("/^".$fileextname."$/i", $pathinfo["extension"]) )
      {
        echo "<div style=‘font-size:12px;color=red;font-weight:bold;‘>不支持的扩展名 <a href=‘javascript:history.back(-1);‘>点击返回</a></div>";
        exit();
      }

      srand ((double) microtime() * 948625); 

      //生成随机文件名
      $targetname =time();
      $targetname .= rand() . ‘.‘ . $pathinfo["extension"];

      $targetpath = $upload_image_dir .strftime ("%Y%m" ,time())."/". $targetname;
      copy($_FILES[$rr][‘tmp_name‘][$i],  $targetpath);
      unlink($_FILES[$rr][‘tmp_name‘][$i]);        

      $imga = $targetpath;
      array_push($imgnames,$imga);
    }
    return $imgnames;
  }
$imgdir = "uploads/";
$imgs = getimgmany(‘files‘,$imgdir);
print_r($imgs);

首发地址:月小升博客

时间: 2025-01-16 16:25:34

HTML5 多图上传的相关文章

hTML5 多图上传预览

<p> <label>请选择一个文件:</label> <input type="file" id="file" multiple="multiple" onchange="readAsDataURL()"/> </p> <div id="result" name="result"></div> <

thinkphp/thinkcmf多图上传并保存到数据库

&&思路:图片和一些信息一起上传,先把信息用ajax提交到添加数据的function,添加成功后取到此条信息的主键,存session,返回模板ajax接收返回的信息,接收完毕后,再把多图上传的from表单提交,取到图片的信息,循环后拼接图片路径,根据session存的主键值修改(save)信息(smeta)到数据库,结束 &&这里特别说一下这个 multiple="multiple" 添加上这个之后可以一次选择多个文件进行上传,是 html5 的新属性

Java企业微信开发_08_JSSDK多图上传

一.本节要点 1.1可信域名 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名.这个域名必须要通过ICP备案,不然jssdk会配置失败 1.2JS-SDK使用权限签名算法 1.2.1 签名生成规则如下: (1)参与签名的字段包括: noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) . (2)对所有待签名参数按照字段名的ASCII

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧!

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧! 图片上传是非常常见的功能,而多图上传在大多数应用中也是非常常见的,比如微信的朋友圈,微博的动态,都是有九宫格图片的,那这里肯定涉及了多图上传,所以今天我们来一起撸一下,怎么去思考这个实现逻辑! 这里我想到的思路是比较简单的,首先,我们有一个按钮,按钮是上传图片,点击之后弹出某个界面进行图片的选择,一般是九张图片或者十二张,选完之后就直接上传了,大致的流程应该是这个样子,那我们首先来写个按钮 activity_main.xml <?

02-iOS 使用AFN 进行单图和多图上传

//1.单张图上传 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) { //使用日期生成图片名称 NSDateFormatter *formatter = [[NSDateFormatter al

微信jssdk多图上传

微信官方文档uploadImage函数一次只能上传一张图片,但实际运用中有不少多图上传的需求 当选择多张图片时若直接循环多次调用,只有最后一张能上传成功,因为uploadImage只有在上次一执行成功或者失败以后才能再次调用,因此把该函数稍作修改即可 //选择图片function choose(num){ wx.chooseImage({ count: num, // 默认9 sizeType: ['compressed'], success: function (res) { var loca

百度Ueditor编辑器取消多图上传对话框中的图片搜索

百度Ueditor确实是一个非常强悍的编辑器,功能强大!但是实际开发需求复杂,总会有各种不符合要求的,比如想要取消多图上传的“图片搜索”选项卡(这个图片搜索真心难用)! 以ueditor 1.4.3为例: 1.打开ueditor1.4.3\dialogs\image\image.html 2.删除第25行 <span class="tab" data-content-id="search"><var id="lang_tab_search

yii2组件之多图上传插件FileInput的详细使用

作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 文件上传也写过几篇文章了,包括最基本的yii2文件上传.异步上传到又拍云以及百度编辑器图片上传的问题,貌似不说点多图上传的就不完美. 今天介绍一款多图上传的插件 FileInput,至于为什么选中了TA作为我们上传的插件,一来这货跟Yii2有一腿,用起来方便:二来嘛

单独调用kindeditor的多图上传组件实现多图上传

本例是单独调用kindeditor多图上传的组件来进行多图上传,兼容性你懂得! 官方示例地址:http://kindeditor.net/ke4/examples/multi-image-dialog.html Html JS