PHP move_upload_file()仅将最后一张图片移动到文件夹中

PHP move_upload_file()仅将最后一张图片移动到文件夹中,php,html,forms,Php,Html,Forms,我有一个表单,我想上传多个图像并将它们存储在我的文件夹中,但我的程序只存储最后选择的图像 我的表格: <form method="POST" action="server.php" enctype="multipart/form-data"> <input type="file" name="pictures[]" multiple> <button class="btn btn-success btn-block" name="add">

我有一个表单,我想上传多个图像并将它们存储在我的文件夹中,但我的程序只存储最后选择的图像

我的表格:

<form method="POST" action="server.php" enctype="multipart/form-data">
     <input type="file" name="pictures[]" multiple>
     <button class="btn btn-success btn-block" name="add">ADD</button>
</form>

如何修复此问题,以便将所有图片移动到我的“图像”文件夹中?

不要使用嵌套循环。您希望并行处理这两个阵列,而不是作为叉积处理

foreach ($image_names as $i => $image_name) {
    $image_tmpname = $image_tmpnames[$i];
    $foto = 'images/' . $image_name;
    move_uploaded_file($image_tmpname,$foto);
}

也许可以尝试其他循环,并设置区分路径

我设计了您可以在解决方案中实现的代码:

$arquivo = isset($_FILES['img']) ? $_FILES['img'] : FALSE;
for ($controle = 0; $controle < count($arquivo['name']); $controle++){
    $destino = $diretorio."/".$arquivo['name'][$controle];
    if(move_uploaded_file($arquivo['tmp_name'][$controle], $destino)){
        echo "Upload sucess<br>"; 
    }else{
        echo "Erro upload";
    }           
}
$arquivo=isset($\u文件['img'])$_文件['img']:FALSE;
对于($controle=0;$controle”;
}否则{
回声“错误上传”;
}           
}
想想看……对于每个图像名称,您将所有临时名称移动到该图像名称。
$arquivo = isset($_FILES['img']) ? $_FILES['img'] : FALSE;
for ($controle = 0; $controle < count($arquivo['name']); $controle++){
    $destino = $diretorio."/".$arquivo['name'][$controle];
    if(move_uploaded_file($arquivo['tmp_name'][$controle], $destino)){
        echo "Upload sucess<br>"; 
    }else{
        echo "Erro upload";
    }           
}