[Resolvido] Ignorar upload quando estiver vazio
Boa noite,
Estou fazendo um sistema para atualizar dados das pessoas cadastradas. Nesse sistema tem a opção de atualizar a imagem cadastrada, eu programei o sisteminha de upload para deixar a imagem sempre no nome da pessoa que está atualizando. Até ai está funcionando tranquilo.
O problema é quando a pessoa deixa o formulário vazio, o sistema barra dizendo que a imagem não é uma extensão permitida.. Teria alguma maneira de "ocultar" este campo quando não tiver preenchido ?
O código do sistema de upload é esse:
<?
$erro = $config = array();
// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 106883;
// Largura máxima (pixels)
$config["largura"] = 350;
// Altura máxima (pixels)
$config["altura"] = 180;
// Formulário postado... executa as ações
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato invalido! A imagem deve ser jpg, jpeg,
bmp, gif ou png.(desconsidera se nao envio imagem)";
}
else
{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"])
{
$erro[] = "Arquivo em tamanho muito grande!
A imagem deve ser de no máximo " . $config["tamanho"] . " bytes.
Envie outro arquivo";
}
// Para verificar as dimensões da imagem
$tamanhos = getimagesize($arquivo["tmp_name"]);
// Verifica largura
if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve
ultrapassar " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve
ultrapassar " . $config["altura"] . " pixels";
}
}
// Imprime as mensagens de erro
if(sizeof($erro))
{
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "<a href=\"jogador.php\">Fazer Upload de Outra Imagem.</a><br>";
}
// Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
else
{
// Pega extensão do arquivo
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
// Gera um nome único para a imagem
$imagem_nome = $usuario . "." . $ext[1];
// Caminho de onde a imagem ficará
$imagem_dir = "fotos/" . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
echo "Sua foto foi enviada com sucesso!";
}
}
?>
Obrigado!!
Discussão (1)
Carregando comentários...