Ir para conteúdo

POWERED BY:

Arquivado

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

tiago.fra1

[Resolvido] Problemas com upload de arquivos

Recommended Posts

Olá pessoal, estou com um problema o qual não estou achando maneira de solucionar. Estou estudando php, e no momento estou fazendo um formulário simples para envio (upload) de arquivos, esta quase tudo funcionando bem, porém estou tentando fazer um controle do tipo (extensão) da imagem enviada e não esta funcionando de jeito nenhum.

 

Minha intenção é fazer com que só seja possível enviar arquivos de "imagem em gif".

 

Dessa forma:

 

<?php

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

if(!$img)
{
echo "Página não autorizada!";
}
else
{
$pasta = "./arquivos/";
}

//----------------------------------

if($img['type'] !== 'image/gif')
{
echo "O arquivo enviado não é uma imagem GIF! Envie um arquivo GIF!";
}
else
{
copy($img['tmp_name'],$pasta . $img['name']);
}

//----------------------------------

if(copy($img['tmp_name'],$pasta . $img['name']))
{
echo "Arquivo enviado com sucesso!";
}
else
{
echo "Erro ao enviar o arquivo! Tente novamente!";
}

?>

 

O que esta acontecendo é que quando envio um arquivo diferente de GIF, ele diz a frase "O arquivo enviado não é uma imagem GIF! Envie um arquivo GIF!" como manda o script, só que ele envia o arquivo mesmo assim! Dessa forma ainda aparece a frase "Arquivo enviado com sucesso!".

 

E não consigo resolver o caso. Minha idéia é de que se não fosse uma imagem em GIF o script não enviasse o arquivo.

 

Alguém pode me ajudar?!

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php

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

if(!$img)
{
echo "Página não autorizada!";
}
else
{
$pasta = "./arquivos/";
}

//----------------------------------

if($img['type'] !== 'image/gif')
{
echo "O arquivo enviado não é uma imagem GIF! Envie um arquivo GIF!";
}
else
{
   if(copy($img['tmp_name'],$pasta . $img['name']))
  {
      echo "Arquivo enviado com sucesso!";
  }
  else
  {
     echo "Erro ao enviar o arquivo! Tente novamente!";
  }
}

//----------------------------------



?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro eu recomendo que você faça a indentação correta do seu código para facilitar a visualização.

 

Também recomendo que prefira usar a função move_uploaded_file em vez da copy e valide se o upload do arquivo foi feito corretamente através da função is_uploaded_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.