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做会有比较好的用户体验
功能试用。支持一下。
这个功能很实用,批量上传才爽。
不错的东西,简单,实用。
支持原创
这个做企业内网的网络应用时候,很用的上了。
不错 技术贴 顶你一下