A-A+
PHP实现多文本框上传功能
在网站应用中,经常会遇到要求我们进行多文本框上传文件,比如在企业站当中,要求上传多张企业荣誉照片,或者在购物站当中,要求一次上传产品的几个角度等。。在上传图片时,需要我们自定义上传图片张数,也就是上传的文本域了,当需要添加新图片时,只需要添加一个文本框的上传即可,在提交时,可以同时提交多张图片。
预览效果如下,可自己美化一下:
这里就涉及到两个文件,一个是前台显示上传的文本框,在无刷新的情况下新增上传的文本框,可以自定义,这里没有进行定义,可以根据自己的需要进行修改,源码如下:
[cc lang="html"]
[/code]
另一个文件就是 PHP 处理的文件了,主要功能就是处理前面提交过来的图片文件了,是一个普通的上传功能函数,可以自定义上传的目录和上传文件的类型,和一般的上传函数基本都是一样的,唯一一个不一样的就是处理批量提交过来的图片了,这里利用的是数组进行的处理,可以进行深入的研究,源码文件如下:
<?php // $file 上传表单中的文件上传框名称 // $fileType 允许上传的文件类型,用 "|" 分割 // $ifleUrl 文件的存储路径 // $rename 是否重命名 // $msg 消息提示 function uploadfile($key,$file,$fileType,$fileUrl,$rename=true) { if(!file_exists($fileUrl)) { if(!mkdir($fileUrl,0777)) { return false; exit; } } if($_FILES[$file]['error'][$key] != 0) { return false; exit; } $suffix = strtolower(end(explode(".",$_FILES[$file]['name'][$k ey]))); $arr = explode("|",$fileType); if(!in_array($suffix,$arr)) { return false; exit; } if($rename) { $saveUrl = $fileUrl.date("YmdHis").mt_rand(100,99 9).".".$suffix; }else{ $saveUrl = $fileUrl.$_FILES[$file]['name'][$key]; } if(move_uploaded_file($_FILES[$file]['tmp_name'][$key],$s aveUrl)) { return true; }else{ return false; } } $file = "upfile"; $fileType = "jpg|gif|txt|chm"; $fileUrl = "upload/"; if(isset($_FILES[$file])) { foreach($_FILES[$file]['name'] as $key => $row) { $msg = uploadfile($key,$file,$fileType,$fileUrl); if($msg) { echo $_FILES[$file]['name'][$ke y].' 上传成功<br/>'; }else{ echo '<font color="#FF0000">'.$_FILE S[$file]['name'][$key].' 上传失败</font><br/>'; } } }else{ echo '<font color="#FF0000">请上传有效的文件</font>'; } ?>
在我印象中这些东西用js做会有比较好的用户体验
功能试用。支持一下。
这个功能很实用,批量上传才爽。
不错的东西,简单,实用。
支持原创
这个做企业内网的网络应用时候,很用的上了。
不错 技术贴 顶你一下