①使用多个name值
PHP;">
a.点击提交之后接收到的数据格式
Array
(
[name] => 8.png
[type] => image/png
[tmp_name] => G:\wamp\tmp\PHP737.tmp
[error] => 0
[size] => 200
)
[file2] => Array
(
[name] => 28.png
[type] => image/png
[tmp_name] => G:\wamp\tmp\PHP738.tmp
[error] => 0
[size] => 6244
)
[file3] => Array
(
[name] => 54a296f8n6787b34c.png
[type] => image/png
[tmp_name] => G:\wamp\tmp\PHP739.tmp
[error] => 0
[size] => 3143
)
[file4] => Array
(
[name] => 54c0573dncb4db6f7.jpg
[type] => image/jpeg
[tmp_name] => G:\wamp\tmp\PHP788.tmp
[error] => 0
[size] => 5404
)
)
从这种格式可以看出来,每一个文件对应一个数组单元
所以使用foreach遍历数组,并对每个数组单元进行文件上传函数调用
b.点击提交后的操作
$file = $_FILES;
PHP;">
include('./functions.PHP');
③设置文件保存路径
PHP;">
$path = './uploads/'; // 此目录需要手动创建
PHP;">
foreach($file as $v){
$info = uploadFile($v,$path);
⑤判断上传状态
if($info['isok']){
echo '上传成功'.$info['message'];
} else {
echo '上传失败'.$info['message'];
}
}
---------------------------------------------------------------
②使用单个name值
a.第一种写法
PHP;">
b.第二种写法
PHP;">
c.点击提交之后,接收到的数据格式
Array
(
[name] => Array
(
[0] => 8.png
[1] => 9b2d7581fba543ec9bcf95e91018915a.gif
[2] => 12.jpg
)
[type] => Array
(
[0] => image/png
[1] => image/gif
[2] => image/jpeg
)
[tmp_name] => Array
(
[0] => G:\wamp\tmp\PHP85E5.tmp
[1] => G:\wamp\tmp\PHP85E6.tmp
[2] => G:\wamp\tmp\PHP8635.tmp
)
[error] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
[size] => Array
(
[0] => 200
[1] => 16503
[2] => 19443
)
)
)
从这种格式可以看出来,是将上传的文件信息分开保存到每个下标中。 所以要做的事情就是拼接出来一个完整的文件信息,一个一维数组
54c0573dncb4db6f7.jpg
[type] => image/jpeg
[tmp_name] => G:\wamp\tmp\PHP788.tmp
[error] => 0
[size] => 5404
)
所以要进行的操作,是遍历$_FILES['file'] 然后从中取出每条上传文件的信息
d.点击提交后的操作
$file = $_FILES['file'];
include('./functions.PHP');
③设置文件保存路径
$path = './uploads/'; // 此目录需要手动创建
$value){
$data['name'] = $file['name'][$key];
$data['type'] = $file['type'][$key];
$data['tmp_name'] = $file['tmp_name'][$key];
$data['error'] = $file['error'][$key];
$data['size'] = $file['size'][$key];
$info = uploadFile($data,$path);
⑤判断上传状态
a.遍历$file['name'] 只是为了获取$key
b.每遍历一次,取出相对应下标的文件信息,赋值给一个新数组中对应的键
如第一次 $key = 0;
PHP;">
$data['name'] = $file['name'][0]; // 相当于取出了第一个文件的名字
$data['type'] = $file['type'][0]; // 相当于取出了第一个文件的类型
...
第一次遍历完成之后
54c0573dncb4db6f7.jpg
[type] => image/jpeg
[tmp_name] => G:\wamp\tmp\PHP788.tmp
[error] => 0
[size] => 5404
);
这样就取出了第一个文件的所有信息