upload de imagens so funciona no localhost
27/09/2013
0
Fiz uma aplicação em PHP para fazer upload de várias imagens ao mesmo tempo, testei ela localmente e funciona perfeitamente, inclusive com a opção de apagar a imagem da pasta do servidor tb.
Porém, quando envio os arquivos para o servidor ele não funciona como deveria. O problema é que não aparece nenhum mensagem de erro, ele faz o upload das imagens, só q ele grava a mesma imagem várias vezes apenas com nomes diferentes. Então na tela aparece o total de imagens que foram "upadas" só que todas com a mesma aparência, como se tivesse sido "upada" a mesma imagem.
Já dei as permissões necessárias para as pastas (mas creio que esse não seria o problema, pois senão ele não estaria nem gravando as imagens na pasta).
Segue abaixo meus códigos, se alguém puder me ajudar a encontrar onde estou errando, agradeço.
O HTML:
<form action="" method="post" enctype="multipart/form-data"> <span class="">Nome da Obra</span><br /> <select name="obras" class="cx170"> <option value="-1">Selecione uma Obra</option> <?php if (!empty($lista_obras)) { foreach ($lista_obras as $lo) { if ($lo->getCodigo() == $codigo) { $selecionado = "selected"; } else { $selecionado = ""; } echo "<option value=\"" . $lo->getCodigo() . $selecionado . "\">" . $lo->getNome() . "</option>"; } } ?> </select><br /><br /> <span class="">Fotos</span><br /> <input type="file" name="imagens[]" multiple="true" class="cx370" /><br /><br /> <input type="submit" name="gravar" value="Gravar" class="botao"/> <input type="submit" name="limpar" value="Limpar" class="botao"/> </form>
O PHP:
if (isset($_GET["id"])) { $codigo = $_GET["id"]; $i = $foto_dao->listarFoto($codigo); if (!empty($i)) { foreach ($i as $im) { $img = $im->getFoto(); if (unlink($img)) { $deletar = $foto_dao->deletar($codigo); $msg->addMensagemOk("Dados Deletados com Sucesso"); } else { $erro->addMensagemErro("Erro ao Deletar Dados"); } } } } if (isset($_POST["gravar"]) || isset($_POST["atualizar"])) { $codigo = $_POST["obras"]; $tipos = array('.jpg', '.jpeg', '.gif', '.png', '.JPG'); if ($codigo == '-1') { $erro->addMensagemErro("Selecione a Obra"); } else { $dir = "imagens_obras/"; $campos = count($_FILES['imagens']['tmp_name']); for ($i = 0; $i < count($_FILES['imagens']['name']); $i++) { $tipo = strrchr($_FILES["imagens"]['name'][$i], "."); if (in_array($tipo, $tipos)) { $imagem = md5($_FILES["Filedata"]["imagens"] . date("dmYhis")); $imagem_final = $dir . $imagem . $tipo; if (move_uploaded_file($_FILES['imagens']['tmp_name'][$i], $imagem_final)) { $fotos = new Obras_foto(); $fotos->setObra_codigo($codigo); $fotos->setFoto($imagem_final); if ($foto_dao->gravar($fotos)) { $msg->addMensagemOk("Foto <strong>" . $_FILES['imagens']['name'][$i] . " Gravada com Sucesso</strong>"); } } else { $erro->addMensagemErro("Erro ao Gravar Imagens. Consulte o Administrador do Site"); } } else { $erro->addMensagemErro("Tipo de Arquivo Inválido. <strong><br />Tipos permitidos: jpg, png, jpeg, JPG, gif</strong><br />"); } } } }
Edson Pereira
Posts
28/09/2013
Marcio Araujo
posso está errado.
30/09/2013
Edson Pereira
Obrigado.
30/09/2013
Marcio Araujo
Clique aqui para fazer login e interagir na Comunidade :)