Ir para conteúdo
Fórum Script Brasil
  • 0

Upload de imagens só funciona no localhost


Edinho Rodrigues

Pergunta

Olá amigos, estou com um pequeno (espero eu) problema.

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 />");
            }
        }
    }
}
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...