Validar Input File
17/04/2014
0
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
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
Curtir tópico
+ 0
Responder
Posts
20/04/2014
Bruno Betioli
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.
Responder
Clique aqui para fazer login e interagir na Comunidade :)