簡體   English   中英

PHP move_uploaded_file()僅將最后一張圖片移動到該文件夾

[英]PHP move_uploaded_file() only moves the last picture to the folder

我有一個表單,盡管我想上傳多個圖像並將其存儲在文件夾中,但是我的程序僅存儲最后選擇的圖像。

我的表格:

<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);
      }
} 

如何解決此問題,以便將所有圖片都移到“圖像”文件夾中?

不要使用嵌套循環。 您要並行處理兩個數組,而不是作為叉積。

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";
    }           
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM