• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP实现多文件上传

php 搞代码 3年前 (2022-01-23) 17次浏览 已收录 0个评论
文章目录[隐藏]

求够一个PHP实现多文件上传的例子,直接贴代码,谢谢。

回复讨论(解决方案)

怎么没有人。。。。

百度swfupload,下载个实例研究下吧
多文件上传不是几句代码就说清楚的。

会单文件上传不?会的话多文件是一样的道理。只不过表单控件命名为数组,php处理数组而已。

$_FILES[“file”] 怎么接收数组的文件,我用
foreach ($_FILES[“file”] as $item)
{
$s=$s.”,”.$item;
}
只能接收一个文件

你的html代码是什么?

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]提交数据时失败,请稍后再试,或与技术员联系!”);

//}
}
}

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
jQuery动态添加input type=file文件上传域
<script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js”></script&gt;

<body>


增加图片

删除

<script type=”text/javascript” >
$(document).ready(function(){
bindListener();
});
// 用来绑定事件(使用unbind避免重复绑定)
function bindListener(){
$(“a[name=rmlink]”).unbind().click(function(){
$(this).parent().remove();
})
}
function addimg(){
$(“#mdiv”).append(‘

X

‘);

// 为新元素节点添加事件侦听器

bindListener();
}
</script>

for($i=0; $i<count($_FILES["file"]['error']); $i++) {
*本文来源gaodai#ma#com搞@代~码^网+搞代gaodaima码 //这部分是你的恕我不一一抄录,不过加了点东西
$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
推荐

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) 才基本够

我就想知道后台怎么接收多文件

示例的代码就是

你的上传控件是
所以 $_FILES[“file”][xxx] 都是数组 (xxx = tmp_name,name,error,type,size)
逐个处理就是了,当然只有 error 等于 0 的才是被成功上传的

示例的代码就是

你的上传控件是
所以 $_FILES[“file”][xxx] 都是数组 (xxx = tmp_name,name,error,type,size)
逐个处理就是了,当然只有 error 等于 0 的才是被成功上传的

foreach ($_FILES[‘file’] as $item)
{
//echo print_r($item);
}
怎么这样只得到第一个文件啊

测试代码

<?phpprint_r($_FILES);?> <br> <br> <br> 

选择两个文件后截图
提交后 $_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
)

)

)

自己去看吧


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP实现多文件上传

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址