PHP图片、文件批量上传代码__1

上传人:一** 文档编号:24917664 上传时间:2021-07-16 格式:DOCX 页数:11 大小:14.39KB
返回 下载 相关 举报
PHP图片、文件批量上传代码__1_第1页
第1页 / 共11页
PHP图片、文件批量上传代码__1_第2页
第2页 / 共11页
PHP图片、文件批量上传代码__1_第3页
第3页 / 共11页
点击查看更多>>
资源描述
PHP图片、文件批量上传代码_ 不管是文件还是图片批量上传我们第一个是在html中做name=userfile这种数组变量,在php接受中我们做for ($_i=0; $_i$_cont; $_i+)遍历这样就可以实现文件批量上传了,下面我来看一个实例 例子 代码如下: ?php session_start(); ? !DOCTYPE html PUBLIC -/W3C/DTD XHTML 1.0 Transitional/EN html xmlns= head meta http-equiv=Content-Type content=text/html; charset=utf-8 / titlePHP文件批量上传/title style * margin:0; padding:0; list-style:none; .content width:400px; height:auto; margin:0 auto; margin-top:60px; padding-bottom:30px; background:#ffd3b6; border:dashed 1px #f90 .content h1 width:400px; height: 30px; line-height:30px; text-align:center; font-family:微软雅黑; font-size:14px; color:#000 .content .error width:300px; height:auto; line-height:30px; text-align:center; margin:0 auto; color:#f00 .content .con width:340px; height:auto; margin:0 auto; font-size:12px; .content #file width:280px; height:20px; border:solid 1px #ccc; background:#fff; margin:10px 0px 6px 0; font-size:12px; .content #send width:60px; height:22px; border:solid 1px #ccc; background:#fff; font-size:12px; margin-top:10px; /style script type=text/javascript src=js/jquery.js/script script $(document).ready(function() $(#cont).val($(.file #file).size(); $(#send).eq(0).click(function() var filesize=$(.file #file).size(); $(.file).append(input type=file name=userfile id=file/); $(#cont).val(filesize+1); ); ); /script /head body div h1PHP文件批量上传/h1 div div ?php if ($_GETup=up) /防止重复提交 if ($_SESSIONfile=$_GETirand) $_cont=intval($_POSTcont); /将file框总数接收并转换成整型 $_size=20210; /设置限制文件大小 $_dir=pdir/; /文件保存名目 function size($_size) /推断文件大小是否大于1024bit 假如大于,则将大小取值为KB,以此类推 if ($_size1024*1024) return round($_size/1024/1024,2). MB; else if ($_size1024) $_size=$_size/1024; return ceil($_size).KB; else return $_size. bit; /设置上传图片的类型,设置图片上传大小 $_upfiles = array(image/jpeg,image/pjpeg,image/png,image/x-png,image/gif); /利用for循环上传文件 for ($_i=0; $_i$_cont; $_i+) if (is_array($_upfiles) if (!in_array($_FILESuserfiletype$_i,$_upfiles) exit(请上传格式为:jpg,png,gif的文件br /a href=pupload.php返回/a); /推断文件大小 if ($_FILESuserfilesize$_i$_size) exit(上传文件不能超过:.size($_size); /检测文件是否已经上传 if ($_FILESuserfileerror$_i0) switch ($_FILESuserfileerror1) case 1: echo 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值; break; case 2: echo 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值; break; case 3: echo 文件只有部分被上传; break; case 4: echo 没有文件被上传; break; case 6: echo 找不到临时文件夹; break; case 7: echo 文件写入失败; break; exit; /猎取文件扩展名 if (!is_dir($_dir) mkdir($_dir,0700); /生成随笔数 $_rand=mt_rand(0,100000); /猎取文件扩展名 $_n=explode(.,$_FILESuserfilename$_i); /将文件名分割 $_file_len=count($_n); /返回数组长度 /确保猎取的扩展名是最终一个.后面的 $_name=$_dir.time()._.$_rand.$_n$_file_len-1; /移动文件到指定的名目 if (is_uploaded_file($_FILESuserfiletmp_name$_i) if (!move_uploaded_file($_FILESuserfiletmp_name$_i,$_name) exit(文件移动失败); else echo 文件上传胜利br /; echo 文件路径:.$_name.br /; echo 文件大小:.size(filesize($_name); echo br /a href=pupload.php返回连续上传/a; else exit(上传的临时文件不存在,无法将文件移动到指定文件夹); /销毁session变量,有几种方法 /第一种,销毁全部session变量:session_destroy(); /其次种:销毁单个如:$_SESSIONfile= session_destroy(); exit; else exit(您已经提交过了,不能重复提交br /a href=pupload.php返回/a); ? /div ?php $_irand=mt_rand(0,1000000); $_SESSIONfile=$_irand; ? form action=?up=upirand=?php echo $_irand; ? method=post enctype=multipart/form-data input type=hidden name=MAX_FILE_SIZE value=1000000 / input type=hidden name=cont value= id=cont / div input type=file name=userfile id=file/ input type=file name=userfile id=file/ input type=file name=userfile id=file/ input type=file name=userfile id=file/ /div br / input type=button name=send value= 添加一个 id=send/ input type=submit name=send value= 点击上传 id=send/ /form /div /div /body 核心原理分析 在多文件上传中我们前台最重要的是 代码如下: input type=file name=userfile id=file/ input type=file name=userfile id=file/ input type=file name=userfile id=file/ input type=file name=userfile id=file/ 这几行代码有详情的伴侣会发觉name=userfile了,这个是以数组存储了,这样我们假如用法js也可以这样增加就可以了,那么在php是如何猎取的呢 在多文件上传中php处理是一个关键 代码如下: for ($_i=0; $_i$_cont; $_i+) if (is_uploaded_file($_FILESuserfiletmp_name$_i) if (!move_uploaded_file($_FILESuserfiletmp_name$_i,$_name) exit(文件移动失败); else echo 文件上传胜利br /; echo 文件路径:.$_name.br /; echo 文件大小:.size(filesize($_name); echo br /a href=pupload.php返回连续上传/a; 这里显示很简洁我们会看到有一个for,for就是遍历数组,遍历userfile数组,然后再由$_FILESuserfiletmp_name$_i来猎取不同文件图片再进行上传即可,留意$_i就是你的多文件上传项了,只是保存在了数组中。 更多信息请查看IT技术专栏 .
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!