php多文件上传方法+js限制上传文件大小

2025-10-27 20:05:29

1、网上的帖子大部分说php无法多文件上传,主要原因是<input type=file>标签默认一次只能速爹选择一个文件,其实 HTML5 的 input 标签添加 multiple 属性就可以支持获常著多文件选择。代码如下:

<form id="up" action="upload_file.php" method="post"亲脾 enctype="multipart/form-data">

<input type="file" name="file" multiple="multiple"/>

</form>

2、需要把 input 的name属性设置为数组才能被php正确识别;

<input type="file" name="file[]" multiple="multiple" />

3、顺便添加accept属性,限制上传文件类型。

<input type="file" name="file[]" multiple="multiple" accept="image/*" />

1、在<script>中用js代码获取选择的文件大小比较复杂,应该给input标签的change事件绑定函数,用this.files[0].size直接传递文件大小,代码如下:

<input type="file" name="file[]" multiple="multiple" onchange="filesize(this.files)" />

<script>

function filesize(files)

{alert("文件大小是"+files[0].size)}

</script>

2、由于是选择多个文件,应使用this.files.length获取选择的文件数量,然后用for循环使用下标获取每个文件的大小,累加计算选择的总文件大小:

var t=0;  //记录文件累加大小。

for(i=0;i<files.length;i++){t+=files[i].size;}

3、判断 t 值是否超过限制,这里直接获取的size是字节值,如果我们限制的文件大小是10MB,可以使用t/1024/1024把字节值换算成MB,然后进行比较,如果超过限制,则弹出提示并重置表单。代码如下

var t=0;  //记录文件累加大小。

for(i=0;i<files.length;i++){t+=files[i].size;}

t=t/1024/1024; 

if(t>10){alert("文件大小超过限制,请重新选择。");document.getElementById("up").reset()}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢