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

Gravar Imagens No Banco De Dados


MauF

Pergunta

ola pessoal preciso gravar imagens no banco de dados,

so q tenho algumas duvidas, primeiro é no meu banco de dados o campo para gravar imagens pode ser varchar?

e gostari q vocês desssem uma olhada no meu codigo, para ver o que tem de errado pois não grava...

obrrigado

foto.php

<form action="upload.php" method="post"  enctype="multipart/form-data">
Envie sua foto para o site! <input type="file" name="foto"><BR>
<input type="submit" value="Enviar Foto!">
</form>
upload.php
<?
$erro = $config = array();

// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 106883;
// Largura máxima (pixels)
$config["largura"] = 250;
// Altura máxima (pixels)
$config["altura"]  = 170;

// Formulário postado... executa as ações
if($arquivo)
{
    // Verifica se o mime-type do arquivo é de imagem
    if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
    {
        $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,
  	bmp, gif ou png. Envie outro arquivo";
    }
    else
    {
        // Verifica tamanho do arquivo
        if($arquivo["size"] > $config["tamanho"])
        {
            $erro[] = "Arquivo em tamanho muito grande!
  A imagem deve ser de no máximo " . $config["tamanho"] . " bytes.
  Envie outro arquivo";
        }

        // Para verificar as dimensões da imagem
        $tamanhos = getimagesize($arquivo["tmp_name"]);

        // Verifica largura
        if($tamanhos[0] > $config["largura"])
        {
            $erro[] = "Largura da imagem não deve
    ultrapassar " . $config["largura"] . " pixels";
        }

        // Verifica altura
        if($tamanhos[1] > $config["altura"])
        {
            $erro[] = "Altura da imagem não deve
    ultrapassar " . $config["altura"] . " pixels";
        }
    }

    // Imprime as mensagens de erro
    if(sizeof($erro))
    {
        foreach($erro as $err)
        {
            echo " - " . $err . "<BR>";
        }

        echo "<a href=\"foto.php\">Fazer Upload de Outra Imagem</a>";
    }

    // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
    else
    {
        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

        // Gera um nome único para a imagem
        $imagem_nome = md5(uniqid(time())) . "." . $ext[1];


         // O erro deve estar aqui
        // Caminho de onde a imagem ficará
        include "conecta.php";
        
        $imagem_dir = "UPDATE associacao SET logotipo='$imagem_nome' WHERE associacao_id='117'";

        if($recset_query=mysql_query($query,$conexao)) {
           echo "Dados alterados com sucesso.";
        }
        else{
           echo "Não foi pssível gravar as alterações.";
        }
        
        // Faz o upload da imagem
        move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

        echo "Sua foto foi enviada com sucesso!";
    }
}
?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Cara gravar imagem no bd é inviavel alem de deixar a pesquisa lenta pode ocorre que a imagem não grave totalmente no bd (com falhas)

por que você não so grava o caminho da imagem

a imagem você pode gravar usando a function

move_uploaded_files();

Editado por setokaiba
Link para o comentário
Compartilhar em outros sites

  • 0

você so grava no BD o caminho da imagem

e depois coloca numa tag de imagem

você pode gravar a imagem no mesmo momento que você grava o conteudo da imagem no bd

tipo no bd vai ficar gravado assim = /pasta/nomedoarquivo

<img src=$caminho_gravado_no_BD >

se não expliquei bem post ai que explico melhor wink.gif

aproposito post também o que você tem de script pra nos ver wink.gif

Link para o comentário
Compartilhar em outros sites

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,8k
×
×
  • Criar Novo...