Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

edinhorod

validar um input file matriz

Recommended Posts

Olá amigos

Tenho um form onde preciso enviar imagens, somente se o usuário escolheu alguma imagem e pra isso preciso validar o campo file. Quando gravo apenas uma imagem de cada vez, eu valido o campo file assim:

if (isset($_FILES["foto"]) && !empty($_FILES["foto"]["name"])) {
        $msg->addMensagem("<div class=\"alert alert-success\">
                                         <strong>Feito!</strong> Com imagens.
                                       </div>");
    } else {
        $msg->addMensagem("<div class=\"alert alert-danger\">
                                         <strong>Feito!</strong> Sem imagens
                                       </div>");
    }

Porém estou usando o campo file como uma matriz:

<form method="post" action="teste.php" class="form-group"  enctype="multipart/form-data">
     <div class="row">
          <div class="col-lg-4">
               <label>Fotos*: </label>
               <input type="file" name="foto[]" multiple class="form-control"/>

               <br />
               <input type="submit" class="btn btn-default" name="atualizar"  value="Atualizar"/>
          </div>
     </div>
</form>

E dessa maneira a validação acima não funciona com o campo file: name="foto[]".

Alguma dica???

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites


$fotos = $_FILES['foto'];

$count = count($fotos['name']); // Recupera o número de matrizes

 

// Se houver 1 imagem ou mais, então...

if ($count > 0):

// Existe pelo menos 1 imagem para processar

else:

// Nenhuma imagem para ser processada

endif;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Wanderson e Lucas por responderem.

Usei sua lógica Wanderson e consegui fazer assim (aparentemente está funcionando mas vou fazer mais testes. Obrigado):

if (isset($_POST["atualizar"])) {
    $count = count($_FILES['foto']["tmp_name"]);

    if ($count - 1 > 0) {
        $msg->addMensagem("<div class=\"alert alert-success\">
                            <strong>Feito!</strong> Com imagens. 
                            </div>");
    } else {
        $msg->addMensagem("<div class=\"alert alert-danger\">
                            <strong>Feito!</strong> Sem imagens 
                            </div>");
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu tbm estou com o mesmo problema só que esse logica pra mim não funciona

 

if (isset($_POST["enviar"])) {
$count = count($_FILES['file[]']["name"]);
if ($count - 1 > 0)
{
//excecuta o codigo
}
else{
//erro
}
meu input e esse aqui
<input id="imagem" class="upload-file" type="file" name="file[]">

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.