Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E ae pessoal,
Estou testando o upload de imagens multiplas , mas, estou com problema de descobrir por que esta exibindo uma mensagem de erro com uso de foreach segue código.
index
<div id="principal">
<form action="upload.php" enctype="multipart/form-data" method="post" >
<input type="file" name="images" id="images" multiple>
<button type="submit" id="btn">Enviar Arquivos</button>
<!--input type="submit" id="btn" value="upload"-->
</form>
<div id="response"> </div>
<ul id="image-list">
</ul>
<div style="clear:both;"></div>
</div>
Chamada do ***Upload.php***
<?php
foreach($_FILES["images"]["name"] as $key => $error){
if($error == UPLOAD_ERR_OK){
$name = $_FILES["images"]["name"][$key];
move_uploaded_file($_FILES["images"]["tmp_name"][$key], "imagens/anuncios/upload/".$name);
}
}
echo "Imagens enviadas com sucesso";
?>
***Erro exibido:***
**Warning**: Invalid argument supplied for foreach() in **C:\servidor6\EasyPHP-DevServer-14.1VC9\data\localweb\aulaupload\upload.php** on line **3**
Imagens enviadas com sucesso
Só que nem chega a enviar as imagens Querer percorrer um array sem um array da erro mesmo!
O proprio erro fica claro ao dizer que o Argumento fornecido é inválido
Portanto, como o colega acima disse... indique que o input images é um array, ou seja, indique o name como images[], feito isso os seus problemas acabarão!
>
Citar
**Warning**: Invalid argument supplied for foreach()
O próprio AVISO te diz a origem do seu problema.>
3 horas atrás, deoliveiralucas disse:
Acho que faltou você definir o input como um array:
<input type="file" name="images[]" id="images" multiple>
Bha ! Não tinha percebido a falha de digitação.
Obrigado pela atenção.
Funcionou !!!
Acho que faltou você definir o input como um array:
<input type="file" name="images[]" id="images" multiple>