Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Ajuda com upload.


donny_

Pergunta

Bom galera, to com um serio problema, criei uma pagina com varios campos para uploads, fiz tudo, mais agora to com o seguinte problema, se eu tiver 3 campos, mas selecionar 2 arquivos para upload, um em cada campo, se um tiver certo e o outro invalido, ele envia pro servidor o que esta correto, e não envia o que esta invalido, eu queria fazer com que ele só envie se tiver todos validos, resumindo, envia um ou não envia nenhum... deu pra entender +-? ésse problema que esta acontecendo é na parte da validacao das extensoes.... segue abaixo o codigo, se alguém puder me ajudar... fico muito grato....

<form name="form1" method="POST" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?> ">

<input type="file" name="arquivo[]" />
<br />
<input type="file" name="arquivo[]" />
<br />
<input type="file" name="arquivo[]" />
<br />
<input type="hidden" name="MAX_FILE_SIZE" value="300" />
<input type="submit" name="Enviar" value="Enviar" />
<br />
</body>

<?php

$dir = 'C:\tempo' . DIRECTORY_SEPARATOR;
$datahora = date("dmY_His");

$arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;

for ($i = 0; $i < count($arquivo['name']); $i++)
    {
    $erro = "";
    $fotos = $_FILES['arquivo']['name'][$i];

    if(substr($fotos, -4) != '.png')
    { $erro = "Extensao invalida <br>"; }
    
    if ($arquivo['size'][$i] > 153600)
    { $erro = "Tamanho inválido <br>"; }
    
    if($erro != "") { echo $erro; }
    else {
    move_uploaded_file($arquivo['tmp_name'][$i], $dir . $datahora . $arquivo['name'][$i]);
    
    echo "<p>Os seguintes arquivos foram enviados com sucesso: $dir $datahora $fotos </p>";
    }
    }
    
    
    ?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

A lógica pra fazer isso vai envolver 2 laços, no primeiro você só vai conferir pra ver se tem algum erro, ai se não tiver você chama o segundo... algo do tipo...

<form name="form1" method="POST" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?> ">

<input type="file" name="arquivo[]" />
<br />
<input type="file" name="arquivo[]" />
<br />
<input type="file" name="arquivo[]" />
<br />
<input type="hidden" name="MAX_FILE_SIZE" value="300" />
<input type="submit" name="Enviar" value="Enviar" />
<br />
</body>

<?php

$dir = 'C:\tempo' . DIRECTORY_SEPARATOR;
$datahora = date("dmY_His");

$arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;

for ($i = 0; $i < count($arquivo['name']); $i++)
    {
    $fotos = $_FILES['arquivo']['name'][$i];

    if(substr($fotos, -4) != '.png')
    { $erro = "sim"; }
    
    if ($arquivo['size'][$i] > 153600)
    { $erro = "sim"; }
   
    }

    if($erro != "sim"){
for ($i = 0; $i < count($arquivo['name']); $i++)
    {
    move_uploaded_file($arquivo['tmp_name'][$i], $dir . $datahora . $arquivo['name'][$i]);
    }
    }   
    ?>

Link para o comentário
Compartilhar em outros sites

  • 0

ESerra, muito obrigado, deu tudo certo, graças a você. vlw mesmo, muito obrigado, é q não entendo muito bem de loop, tenho uma dificuldade enorme, você saberia me dizer onde axo um tuto explicando uso de loops sem complicacoes? dei uma lida no manual do php.net mais mesmo assim fiquei meio confuso... muito obrigado ESerra, vlw mesmo..

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...