PHP实现多文件上传 求够一个PHP实现多文件上传的例子,直接贴代码,谢谢。PHP 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 百度swfupload,下载个实例研究下吧多文件上传不是几句代码就说清楚的。 会单文件上传不?会的话多文件是一样的道理。只不过表单控件命名为数组,php处理数组而已。 $_FILES["file"] 怎么接收数组的文件,我用foreach ($_FILES["file"] as $item) { $s=$s.",".$item; }只能接收一个文件 if($_FILES['file']['size'] >0){ if ( $_FILES["file"]["error"] > 0){ $msg= "附件上传错误: " . $_FILES["file"]["error"]; }else{ //if (file_exists("upload/".$_FILES["file"]["name"])){ // echo $msg =$_FILES["file"]["name"]." 附件已经存在! "; //}else{ $yc = $_POST['yc']; $yt = $_POST['yt']; $type = $_POST['type']; $newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"]); $path="upload/" . $newFileName; move_uploaded_file($_FILES["file"]["tmp_name"],$path); $sql="insert into A004(c02,c03,c04,c05,c06,c07,c08,c09,c10) values ('".$id."','".$newFileName."','".$path."','".$yc[0]."','". $yt[0]."','".$type[0]."','0','".$_SESSION['LOGIN_ID']."','".get_time()."') "; $msg=$DB->Update($sql,"[10016]提交数据时失败,请稍后再试,或与技术员联系!"); //} } }<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>jQuery动态添加input type=file文件上传域</title><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> </head><body> <form action="" method="post" enctype="multipart/form-data"> <label>请选择上传的图片</label> <a href="javascript:addimg()" >增加图片</a> <div class="mdiv" id="mdiv"> <div class="iptdiv" > <input type="file" name="file[]" class="ipt" /><a href="#" name="rmlink">删除</a> </div> </div> <input type="submit" name="submit" value="上传图片" /> </form> <script type="text/javascript" > $(document).ready(function(){ bindListener();});// 用来绑定事件(使用unbind避免重复绑定)function bindListener(){ $("a[name=rmlink]").unbind().click(function(){ $(this).parent().remove(); })}function addimg(){ $("#mdiv").append('<div class="iptdiv"><input type="file" name="img[]" class="ipt" /><a href="#" name="rmlink"> X </a></div>');// 为新元素节点添加事件侦听器 bindListener();} </script></body></html> for($i=0; $i<count($_FILES["file"]['error']); $i++) { //这部分是你的恕我不一一抄录,不过加了点东西 $newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"][$i]); $path="upload/" . $newFileName; move_uploaded_file($_FILES["file"]["tmp_name"][$i],$path);}不过 time() 似乎不够了,要 microtime(1) 才基本够 试试uploadify稍作修改就ok了。 https://github.com/valums/file-uploader推荐 示例的代码就是你的上传控件是 <input type="file" name="file[]" class="ipt" />所以 $_FILES["file"][xxx] 都是数组 (xxx = tmp_name,name,error,type,size)逐个处理就是了,当然只有 error 等于 0 的才是被成功上传的 foreach ($_FILES['file'] as $item){//echo print_r($item);}怎么这样只得到第一个文件啊 测试代码<?phpprint_r($_FILES);?><form method="POST" enctype="multipart/form-data"> <input type=file name=file[] /><br> <input type=file name=file[] /><br> <input type=file name=file[] /><br> <input type=submit></form>选择两个文件后截图提交后 $_FILES 数组Array( [file] => Array ( [name] => Array ( [0] => i.jpg [1] => Ico.zip [2] => ) [type] => Array ( [0] => image/pjpeg [1] => application/x-zip-compressed [2] => ) [tmp_name] => Array ( [0] => C:\Documents and Settings\Administrator\Local Settings\Temp\php188.tmp [1] => C:\Documents and Settings\Administrator\Local Settings\Temp\php189.tmp [2] => ) [error] => Array ( [0] => 0 [1] => 0 [2] => 4 ) [size] => Array ( [0] => 7198 [1] => 121062 [2] => 0 ) ))自己去看吧 ecmall后台管理点击会员出现的问题 织梦中的标记不能嵌套,那怎么解决我这个问题(请进)! 研究源码哪个好些。 有没有能批量上传图片的html编辑器? 谁有php+mysql活着jsp+oracle的仓库管理软件? disucz X3 模板标签有没有类似功能{array|@count} 高薪邀请 php程序工程师 php生成rss文件求改进 php 日期格式转换疑问,望大神伸手。。 php出现致命错误为何返回的还是200状态 白痴问题---js验证复选. 请问我这个正则为什么匹配不到呢?
多文件上传不是几句代码就说清楚的。
foreach ($_FILES["file"] as $item)
{
$s=$s.",".$item;
}
只能接收一个文件
if ( $_FILES["file"]["error"] > 0){
$msg= "附件上传错误: " . $_FILES["file"]["error"];
}else{
//if (file_exists("upload/".$_FILES["file"]["name"])){
// echo $msg =$_FILES["file"]["name"]." 附件已经存在! ";
//}else{
$yc = $_POST['yc'];
$yt = $_POST['yt'];
$type = $_POST['type'];
$newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"]);
$path="upload/" . $newFileName;
move_uploaded_file($_FILES["file"]["tmp_name"],$path);
$sql="insert into A004(c02,c03,c04,c05,c06,c07,c08,c09,c10) values ('".$id."','".$newFileName."','".$path."','".$yc[0]."','". $yt[0]."','".$type[0]."','0','".$_SESSION['LOGIN_ID']."','".get_time()."') ";
$msg=$DB->Update($sql,"[10016]提交数据时失败,请稍后再试,或与技术员联系!");
//}
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>jQuery动态添加input type=file文件上传域</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<label>请选择上传的图片</label>
<a href="javascript:addimg()" >增加图片</a>
<div class="mdiv" id="mdiv">
<div class="iptdiv" >
<input type="file" name="file[]" class="ipt" /><a href="#" name="rmlink">删除</a>
</div>
</div>
<input type="submit" name="submit" value="上传图片" />
</form>
<script type="text/javascript" >
$(document).ready(function(){
bindListener();
});
// 用来绑定事件(使用unbind避免重复绑定)
function bindListener(){
$("a[name=rmlink]").unbind().click(function(){
$(this).parent().remove();
})
}
function addimg(){
$("#mdiv").append('<div class="iptdiv"><input type="file" name="img[]" class="ipt" /><a href="#" name="rmlink"> X </a></div>');// 为新元素节点添加事件侦听器 bindListener();
}
</script>
</body>
</html>
//这部分是你的恕我不一一抄录,不过加了点东西
$newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"][$i]);
$path="upload/" . $newFileName;
move_uploaded_file($_FILES["file"]["tmp_name"][$i],$path);
}不过 time() 似乎不够了,要 microtime(1) 才基本够
稍作修改就ok了。
推荐
所以 $_FILES["file"][xxx] 都是数组 (xxx = tmp_name,name,error,type,size)
逐个处理就是了,当然只有 error 等于 0 的才是被成功上传的
foreach ($_FILES['file'] as $item)
{
//echo print_r($item);
}
怎么这样只得到第一个文件啊
print_r($_FILES);
?>
<form method="POST" enctype="multipart/form-data">
<input type=file name=file[] /><br>
<input type=file name=file[] /><br>
<input type=file name=file[] /><br>
<input type=submit>
</form>
选择两个文件后截图
提交后 $_FILES 数组
Array
(
[file] => Array
(
[name] => Array
(
[0] => i.jpg
[1] => Ico.zip
[2] =>
) [type] => Array
(
[0] => image/pjpeg
[1] => application/x-zip-compressed
[2] =>
) [tmp_name] => Array
(
[0] => C:\Documents and Settings\Administrator\Local Settings\Temp\php188.tmp
[1] => C:\Documents and Settings\Administrator\Local Settings\Temp\php189.tmp
[2] =>
) [error] => Array
(
[0] => 0
[1] => 0
[2] => 4
) [size] => Array
(
[0] => 7198
[1] => 121062
[2] => 0
) ))自己去看吧