Jump to content
Fórum Script Brasil
  • 0

Gravar Imagens No Banco De Dados


MauF

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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();

Edited by setokaiba
Link to comment
Share on other 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 to comment
Share on other sites

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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...