PHP move_uploaded_file () перемещает только последнее изображение в папку - PullRequest
0 голосов
/ 07 мая 2019

У меня есть форма, в которую я хочу загрузить несколько изображений и сохранить их в своей папке, но моя программа сохраняет только последнее выбранное изображение.

Моя форма:

<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>

Мой код PHP:

$images = $_FILES['pictures'];
$image_names = $images['name'];
$image_tmpnames = $images['tmp_name'];

foreach($image_names as $image_name){

  $foto = 'images/' . $image_name;

  foreach($image_tmpnames as $image_tmpname){
        move_uploaded_file($image_tmpname,$foto);
      }
} 

Как я могу это исправить, чтобы все картинки были перемещены в мою папку "images"?

Ответы [ 2 ]

2 голосов
/ 07 мая 2019

возможно, попробуйте другой цикл и задайте путь дистрибуции.

Я создаю этот код, который вы можете реализовать в своем решении:

$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";
    }           
}
2 голосов
/ 07 мая 2019

Не используйте вложенные циклы.Вы хотите обрабатывать два массива параллельно, а не как перекрестный продукт.

foreach ($image_names as $i => $image_name) {
    $image_tmpname = $image_tmpnames[$i];
    $foto = 'images/' . $image_name;
    move_uploaded_file($image_tmpname,$foto);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...