Validar Input File
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
Curtidas 0
Respostas
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
17/04/2014
Valeu Bruno, deu certinho, Erro meu.
Obrigado.
Obrigado.
GOSTEI 0
William
17/04/2014
Finalizando o tópico!!
GOSTEI 0