Validar Input File

PHP

17/04/2014

Olá galera, estou com um pequeno problema em meu código, mas que está me tirando o sono. Fiz um sistema de upload de arquivo, que salva, entre outros dados, uma imagem no banco de dados. Quando recuperar esses dados para alteração, o usuário pode escolher alterar a imagem ou deixar a mesma imagem gravada no banco. Para fazer o clique do botão Alterar, estou fazendo dessa forma, mas eu não consigo fazer com que o if correto seja acionado:

if (isset($_FILES["imagem"])&& empty($_FILES['imagem'])) {
//Se o usuário escolheu uma imagem, grava a nova imagem que o usuário escolheu

} else {
//Senão, grava a mesma imagem que está no banco
}

Da maneira acima, ele sempre entra no else;
Já tentei assim:

if (isset($_FILES['imagem'])) {
//Se o usuário escolheu uma imagem, grava a nova imagem que o usuário escolheu

} else {
//Senão, grava a mesma imagem que está no banco
}

Da maneira acima, ele sempre entra no if;
E assim:

if (!empty($_FILES['imagem'])) {
//Se o usuário escolheu uma imagem, grava a nova imagem que o usuário escolheu

} else {
//Senão, grava a mesma imagem que está no banco
}

Da maneira acima, ele sempre entra no if;
Alguém tem alguma luz??? Obrigado
Edson Pereira

Edson Pereira

Curtidas 0

Respostas

Bruno Betioli

Bruno Betioli

17/04/2014


if (isset($_FILES["imagem"])&& empty($_FILES[''imagem''])) {
//Se o usuário escolheu uma imagem, grava a nova imagem que o usuário escolheu

} else {
//Senão, grava a mesma imagem que está no banco
}



Se está assim, você tem um erro na lógica. Seria !empty. Do jeito que você colocou, ele verifica se existe e se está vazio, é contraditório. Mas, mesmo que estivesse !empty, não daria certo. Tente assim:

if(isset($_FILES["imagem"]) && !empty($_FILES["imagem"]["name"])) {
//Se o usuário escolheu uma imagem, grava a nova imagem que o usuário escolheu

} else {
//Senão, grava a mesma imagem que está no banco
}


Diga-nos se conseguiu.
GOSTEI 0
Edson Pereira

Edson Pereira

17/04/2014

Valeu Bruno, deu certinho, Erro meu.
Obrigado.
GOSTEI 0
William

William

17/04/2014

Finalizando o tópico!!
GOSTEI 0
POSTAR