maicon_m 0 Denunciar post Postado Julho 9, 2008 Saudações. Estou criando um sistema de notícias. É adicionado um texto e até 4 fotos. E obviamente têm a parte da edição. E é nessa parte que o bicho pega. A minha idéia é de que, se o cliente não procurou novas fotos no computador (então não tem valores nos campos file e a array fica vazia) ele não faz nada. Caso tenha procurado, ele faz o upload delas. Estou utilizando o código abaixo: $imagens = $_FILES['imagem']; /*Recebe os 4 campos form*/ if (!empty($imagens)) /*Se array não esta vazia ele faz o upload e muda no bd*/ { for ($i=0; $i<sizeof($imagens); $i++) { $foto = $_FILES['imagem']['name'][$i]; $tmp_name = $_FILES['imagem']['tmp_name'][$i]; $matriz[] = $foto; $pasta = "imagens/moto/"; $caminho = $pasta . $foto; move_uploaded_file($tmp_name, $caminho); } mysql_query("UPDATE moto SET foto='$pasta$matriz[0]', foto01='$pasta$matriz[1]', foto02='$pasta$matriz[2]', '$pasta$matriz[3]' WHERE id='$id'"); } Já tentei if ($array!='') e if ($array !=null) mas não consegui... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 9, 2008 Cara, eu não entendi, creio que ninguém entendeu. Tu quer fazer essa verificação em qual variável ? mais acho que pode fazer assim: if (isset($_FILES['imagem'])) /*Se array não esta vazia ele faz o upload e muda no bd*/ { $imagens = $_FILES['imagem']; /*Recebe os 4 campos form*/ for ($i=0; $i<sizeof($imagens); $i++) { $foto = $imagens['name'][$i]; $tmp_name = $imagens['tmp_name'][$i]; $matriz[] = $foto; $pasta = "imagens/moto/"; $caminho = $pasta . $foto; move_uploaded_file($tmp_name, $caminho); } mysql_query("UPDATE moto SET foto='$pasta$matriz[0]', foto01='$pasta$matriz[1]', foto02='$pasta$matriz[2]', '$pasta$matriz[3]' WHERE id='$id'"); } Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Julho 9, 2008 A minha idéia é de que, se o cliente não procurou novas fotos no computador (então não tem valores nos campos file e a array fica vazia) ele não faz nada.e se o usuário só procurou uma, você fai fazer o update com as 4 fotos????? Compartilhar este post Link para o post Compartilhar em outros sites
maicon_m 0 Denunciar post Postado Julho 9, 2008 Valeu Alaerte! Funcionou a verificação =) Na Praia, eu pretendo, não sei como, fazer a verificação pra saber se ele quer substituir, ou adicionar mais uma caso não tenha sido atingida a cota de 4 imagens. Aceito sugestões. Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Julho 9, 2008 antes do update você poderia fazer assim if foto1 is null or foto2 is null or foto3 is null or foto4 is null then aviso('Tem lugar para mais fotos') end if você manda a mensagem e dependendo da resposta tu efetua o update ou não Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Sabdini 0 Denunciar post Postado Julho 9, 2008 Vale lembrar q isset() verifica se a variavel existe... é diferente de testar se ela esta fazia. Pra ver se ela esta fazia usa-se empty(); Flw Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 9, 2008 Vale lembrar q isset() verifica se a variavel existe... é diferente de testar se ela esta fazia. Pra ver se ela esta fazia usa-se empty(); if (isset($_FILES['imagem']) and !empty($_FILES['imagem'])) /*Se array não esta vazia ele faz o upload e muda no bd*/ { $imagens = $_FILES['imagem']; /*Recebe os 4 campos form*/ for ($i=0; $i<sizeof($imagens); $i++) { $foto = $imagens['name'][$i]; $tmp_name = $imagens['tmp_name'][$i]; $matriz[] = $foto; $pasta = "imagens/moto/"; $caminho = $pasta . $foto; move_uploaded_file($tmp_name, $caminho); } mysql_query("UPDATE moto SET foto='$pasta$matriz[0]', foto01='$pasta$matriz[1]', foto02='$pasta$matriz[2]', '$pasta$matriz[3]' WHERE id='$id'"); } Compartilhar este post Link para o post Compartilhar em outros sites
maicon_m 0 Denunciar post Postado Julho 10, 2008 obrigado pelo esclarecimento Marcelo. utilizei a modificação que você fez Alaerte Apesar de revolver o problema original, ainda não sei que verificação fazer para saber se uma array é vazia. É realmente utilizando !empty(array) ? Por que já tinha utilizado ele na verificação original e o script não funcionou. A quem interessar ajudar, estou tentando a verificação abaixo para ver se o usuário está tentando editar alguma imagem: if (isset($_FILES['imagem']) and !empty($_FILES['imagem'])) { $imagens = $_FILES['imagem']; for ($i=0; $i<sizeof($imagens); $i++) { $foto = $_FILES['imagem']['name'][$i]; $tmp_name = $_FILES['imagem']['tmp_name'][$i]; $matriz[] = $foto; if (!empty($matriz[$i])) { echo $matriz[$i]; $pasta = "imagens/moto/"; $caminho = $pasta . $foto; move_uploaded_file($tmp_name, $caminho); mysql_query("UPDATE moto SET foto0[$i] = '$pasta$matriz[$i]' WHERE id='$id'"); } } } Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 10, 2008 usa-se o empty para verificar variáveis vazias, usa-se is_array(); para verificar se um elemento é array, resumindo, basta usar o empty(); seguido de isset como eu fiz, traduzindo o IF ficaria assim: Se existir a variável $_FILES... e se ela não for vazia => Execute as operações. Compartilhar este post Link para o post Compartilhar em outros sites