主题:求助:模拟同名上传文件时,为什么这样写会上传失败
HTML代码:
<br> <hr>多文件上传表单常规(不同名) <br>
<form method="POST" enctype="multipart/form-data" action="a.php">
<input type="file" name="abb" multiple="multpiple">
<input type="file" name="abbb" multiple="multpiple">
<input type="file" name="abbbb" multiple="multpiple">
<input type="file" name="abbbbbb" multiple="multpiple">
<input type="file" name="abbbbbbb" multiple="multpiple">
<input type="submit" name="abbbbbbbbb" value="批量上传">
<!-- 不同名情况下,数组名是name ,属性在每个数组中 -->
</form>
echo '<br>','文件名相同:';
if(isset($_FILES['c']['name']) && is_array($_FILES['c']['name']))
// isset 是判断变量是否设置 ,isarray是数组
{
$a=array();
foreach($_FILES['c']['name'] as $k =>$file)
// 每一个name="c"底下的下标 都被记为$K $k:file
{
$a[]=array(
'name' => $file,
'tmp_name' =>$_FILES['c']['type'][$k],
'type' =>$_FILES['c']['tmp_name'][$k],
'error' =>$_FILES['c']['error'][$k],
'size' =>$_FILES['c']['size'][$k]
);
}
}
echo '<br>','文件名相同(同名合成数组后):';
// 文件名相同批量上传转化为“文件名不同”的形式
print_r($a);
foreach($a['tmp_name'] as $k =>$file)
{
if(is_uploaded_file($file['tmp_name']))
{
if(move_uploaded_file($file['tmp_name'],'wangluo/' . $file['name'] ))
{
echo '<hr>','文件保存成功';
}
else {
echo '文件保存失败';
}
}
echo '文件上传失败';
}