06.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<h2>多文件上传案例</h2>
<form action="07.php" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="username" value="" placeholder="" /><br >
头像:<input type="file" name="pic" value="" placeholder=""><br >
艳照:<input type="file" name="hotpic" value="" placeholder=""><br >
简历:<input type="file" name="resume" value="" placeholder=""><br >
<input type="submit" name="" value="提交">
</form>
<!-- file不允许有value默认值 -->
</body>
</html>
07.php
print_r($_FILES);
/*
Array
(
[pic] => Array
(
[name] => WhatIsThat.png
[type] => image/png
[tmp_name] => D:\wamp64\tmp\php52DA.tmp
[error] => 0
[size] => 25444
)
[hotpic] => Array
(
[name] => ISCC.png
[type] => image/png
[tmp_name] => D:\wamp64\tmp\php52DB.tmp
[error] => 0
[size] => 127516
)
[resume] => Array
(
[name] => WhatIsThat.png
[type] => image/png
[tmp_name] => D:\wamp64\tmp\php52DC.tmp
[error] => 0
[size] => 25444
)
)
*/
/*
多文件上传
*/
function mk_dir() {
$dir = date('md/i',time());
if(is_dir('./' . $dir)) {
return $dir;
} else {
mkdir('./' . $dir,0777,true);
return $dir;
}
}
function getExt($file) {
$tmp = explode('.',$file);
return end($tmp);
}
function randName() {
$str = 'abcdefghijklmnopqrstuvwxyz23456789';
return substr(str_shuffle($str),0,6);
//str_shuffle() 打乱字符串
}
foreach ($_FILES as $k=>$v) {
// 拼接文件路径
$path = './' . mk_dir() . '/' . randName() . '.' . getExt($v['name']);
if($v['error'] != 0) {
echo $k,'上传失败<br >';
echo '错误代码是',$v['error'],'<br >';
continue;
}
// 移动
if(move_uploaded_file($v['tmp_name'],$path)) {
print_r($v);
echo '上传OK<br >';
} else {
echo 'fail';
}
}
/*
Array ( [name] => hack.php.jpg [type] => image/jpeg [tmp_name] => D:\wamp64\tmp\php68BF.tmp [error] => 0 [size] => 34 ) 上传OK
Array ( [name] => ISCC.png [type] => image/png [tmp_name] => D:\wamp64\tmp\php68C0.tmp [error] => 0 [size] => 127516 ) 上传OK
Array ( [name] => WhatIsThat.png [type] => image/png [tmp_name] => D:\wamp64\tmp\php68D1.tmp [error] => 0 [size] => 25444 ) 上传OK
*/
// Notice: Array to string conversion
// 数组类型要用print_r