• 0
Sign in to follow this  
Edinho Rodrigues

Upload de imagens só funciona no localhost

Question

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 />");
            }
        }
    }
}

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this