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

Imagem No Mysql


taudujas

Pergunta

Posts Recomendados

  • 0
Pessoal gostaria de aprender a fazer um sistema de fotos, mas queria assim que ele inserisse o link somente no banco e a foto ira ser armazenada em uma pasta, alguém pode me ajudar?

obrigado. biggrin.gif

Usa:

if ($foto != "") {

if ($foto_size > $tamanho)

{die("Arquivo da foto muito grande. Ele deve ter $tamanho bytes ou menos.");}}

    // verifica se tem imagem sendo cadastrada

    if (trim($HTTP_POST_FILES["foto"]["tmp_name"]) != "") {

        // o arquivo é gerado com um nome que nunca se repetirá para evitar que um arquivo existente seja perdido 

        // no exemplo, as fotos ficarão dentro do diretório "fotos", é necessário que o mesmo dê permissão total de

gravação

        // para o usuário que roda o Servidor web(nobody, wwwrun são os mais comuns)

        $foto = 'up/' . md5(md5($HTTP_POST_VARS["nome"]) . date("YmdHis")) .

strstr(basename($HTTP_POST_FILES["foto"]["name"]), '.');

        // arquivo com o local de origem

        $orig = $HTTP_POST_FILES["foto"]["tmp_name"];

        // copia o arquivo para o destino   

        if (!copy($orig, $foto)) {

            echo "<br><br><center>Problemas no upload do arquivo: " . $HTTP_POST_FILES["foto"]["name"] .

"...<br>";

            $erro = "yes";

            $foto = "";

        }     

    }

Link para o comentário
Compartilhar em outros sites

  • 0

Spoc o upload eu tenho agora eu gostaria de saber como mostrar ela saca? ai vou pegar e mostrar a foto de acrodo com o id.. biggrin.gif

include "config.php";

$db  = mysql_connect ($host, $login_db, $senha_db);

$basedados = mysql_select_db($database);

$confirmacao = mysql_query("SELECT * FROM TABELA WHERE id = '$id' ", $db);

  while ($row = mysql_fetch_array($confirmacao)) {

$id = $row["id"];

$foto= $row["foto"];

}

$contagem = mysql_num_rows($confirmacao);

if ( $contagem == 1 ) {

?>

Minha Foto: <? php echo "$foto";?>

Pelo que eu entendi do que você falou é só isso....

Link para o comentário
Compartilhar em outros sites

  • 0

Isso, mas eu pensava que mudaria se eu fosse pegar foto em alguma coisa..valeu cara.

Pegar de alguma coisa.... ?

Cara se você tiver guardando a foto em outro local você tem que referncia-la no BD e exibir o caminho ..... tipo:

se você guardar sua foto ( depois de ter subido com o UPLOAD ) você tem que colocar assim no seu HTML:

<img border=0 src= ../PASTA_ONDE GUARDO_FOTO/<?echo "$foto";?> width=150 height=125 alt = '$nome' >

é só!!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Spok, acho que não formulei minha pergunta certa, eu tenho o upload e tudo aqui agora, so preciso colocar uma função para mostrar o esquema da foto, ou seja salvar ela no bd que o meu upload já esta renomeando e tal so preciso salvar o link no bd como faz?

Cara usa o code que eu postei acima.....eu mesmo o escrevi....

Veja você deve coloca-lo antes do INSERT do mysql....

assim:

if ($foto != "") {

if ($foto_size > $tamanho)

{die("Arquivo da foto muito grande. Ele deve ter $tamanho bytes ou menos.");}}

    // verifica se tem imagem sendo cadastrada

    if (trim($HTTP_POST_FILES["foto"]["tmp_name"]) != "") {

        // o arquivo é gerado com um nome que nunca se repetirá para evitar que um arquivo existente seja perdido 

        // no exemplo, as fotos ficarão dentro do diretório "fotos", é necessário que o mesmo dê permissão total de

gravação

        // para o usuário que roda o Servidor web(nobody, wwwrun são os mais comuns)

        $foto = 'up/' . md5(md5($HTTP_POST_VARS["nome"]) . date("YmdHis")) .

strstr(basename($HTTP_POST_FILES["foto"]["name"]), '.');

        // arquivo com o local de origem

        $orig = $HTTP_POST_FILES["foto"]["tmp_name"];

        // copia o arquivo para o destino   

        if (!copy($orig, $foto)) {

            echo "<br><br><center>Problemas no upload do arquivo: " . $HTTP_POST_FILES["foto"]["name"] .

"...<br>";

            $erro = "yes";

            $foto = "";

        }     

    }

$cadastrar = mysql_query("INSERT INTO TABELA(id,

foto

blablabla bla

lembre-se de criar uma pasta no seu dir com o nome up e dê permissão nele... e de nomear o seu INPUT responsável por procurar a foto no PC como foto

Esse script além de funcionar perfeitamente nunca deixará a imagem se repetir..... por isso eu usei o MD5

Link para o comentário
Compartilhar em outros sites

  • 0

Código HTML:

foto.html

<font face="Verdana" size="1" color="#808080">&nbsp;&nbsp;

              Sua foto:</font>             

                <font color="#808080" size="1" face="Verdana">

                <input type="File" name="foto" size="17" > </font>

você pode formatar esse HTML do jeito que você quiser....lembre-se de nunca mudar o nome do INPUT

foto.php

<?

include("config.php"); //aqui inserimos as váriaveis da página de configuração

$tamanho = "50000"; //tamanho máximo da foto em bytes

$db  = mysql_connect ($host, $login_db, $senha_db); //conectamos ao mysql

$basedados = mysql_select_db($database); //selecionamos o database escolhido

    /* upload da imagem para o servidor */

if ($foto != "") {

if ($foto_size > $tamanho)

{die("Arquivo da foto muito grande. Ele deve ter $tamanho bytes ou menos.");}}

    // verifica se tem imagem sendo cadastrada

    if (trim($HTTP_POST_FILES["foto"]["tmp_name"]) != "") {

        // o arquivo é gerado com um nome que nunca se repetirá para evitar que um arquivo existente seja perdido 

        // no exemplo, as fotos ficarão dentro do diretório "fotos", é necessário que o mesmo dê permissão total de gravação

        // para o usuário que roda o Servidor web(nobody, wwwrun são os mais comuns)

        $foto = 'up/' . md5(md5($HTTP_POST_VARS["nome"]) . date("YmdHis")) . strstr(basename($HTTP_POST_FILES["foto"]["name"]), '.');

        // arquivo com o local de origem

        $orig = $HTTP_POST_FILES["foto"]["tmp_name"];

        // copia o arquivo para o destino   

        if (!copy($orig, $foto)) {

            echo "<br><br><center>Problemas no upload do arquivo: " . $HTTP_POST_FILES["foto"]["name"] . "...<br>";

            $erro = "yes";

            $foto = "";

        }     

    }

$cadastrar = mysql_query("INSERT INTO `$tabela` (

id,

foto

)

VALUES (

'$id',

'$foto'", $db);

//insere os campos na tabela

    if ( $cadastrar == 1 ) {

//MENSAGEM DE CONFIRMAÇÃO DO CADASTRO DO USUÁRIO NO SITE

      echo "

CADASTRAMOS SUA FOTO";

";

      } else {

    echo "

<font face= \"Verdana\"size =\"2\">Ocorreu um erro no servidor ao tentar se cadastrar." . mysql_error() . "</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem

  }

if ($erro == "yes") {// CASO A IMAGEM SEJA MUITO GRANDE NÃO ENVIA PARA O SERVER

            echo "<br><center>A imagem não foi enviada ao servidor.</center>";

        }

        exit();

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, valeu cara , se possivel o banco tb.. já to pedindo muito..eheehe

Pô cara você não quer que eu desenvolva o site tmb!? hehehehe biggrin.gifbiggrin.gif brincadeira...

Dá uma olhada no post acima....

quanto ao BD você tem que configurar o campo que recebe a foto como VARCHAR

255 e padrão igual a NULL

não tem segredo nenhum!

Link para o comentário
Compartilhar em outros sites

  • 0

Spok, esta certo o foto.html é só isso mesmo? o certo é colocar dentro do form e o action sera o foto.php??

você não usou só o foto.html sem colocar em um form action...ou usou?! ohmy.gifohmy.gif

Eu passei apenas o bloco HTML responsável por procurar a foto no PC....é óbvio que você tem que colocar esse bloco dentro de um form HTML cujo action seja o foto.php biggrin.gifcool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Beleza, mas tem um probleminha vou postar a minha pagina para anunciar para você ver. é que já tenho um form nessa pagina então terei que colocar um include la né? não to conseguindo criar um form dentro do outro..hehe

Qual a melhor forma que voce acha para que fazer??

Link para o comentário
Compartilhar em outros sites

  • 0
Beleza, mas tem um probleminha vou postar a minha pagina para anunciar para você ver. é que já tenho um form nessa pagina então terei que colocar um include la né? não to conseguindo criar um form dentro do outro..hehe

Não cara....se você já tem um form que tenha um action basta colocar o code foto.php ( apenas o bloco de inserção da img ) dentro da page do seu form action

Veja você tem um form action que eenvia para um page.php dentro dessa PAGE.PHP você coloca o bloco que lhe passei ( foto.php )

mas por favor não use a conexão com o bd se você já tiver uma conexão ativa....

Link para o comentário
Compartilhar em outros sites

  • 0

Olha como que ta e não ta cadastrando:

anunciar.php

<?

/* Este script foi desenvolvido por:

Tulio Ricardo P. Audujas

MSN: suporte@navegahost.com.br

icq: 179719912

site: www.navegahost.com.br

Por Favor mantenha os direitos autorais.

*/

?>

<html>

<head>

<title>Classificados</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<script language="JavaScript">

function valida() {

if (form1.nome.value == ""){

alert("Por Favor Você esqueceu de digitar o campo nome");

form1.nome.focus();

return (false);

}

if (document.form1.nome.value.length < 8)

    {

    alert("Por favor preencha seu nome completo.");

    document.form1.nome.focus();

    return false;

    }

if (form1.email.value == ""){

alert("Por Favor Você esqueceu de digitar o campo email");

form1.email.focus();

return (false);

}

email=document.form1.email.value;

    if (email.indexOf("@",0) == -1)

    {

    alert("Por Favor preencha seu e-mail corretamente.");

    document.form1.email.focus();

    return false;

    }

if (form1.telefone.value == ""){

alert("Por Favor Você esqueceu de digitar o campo telefone");

form1.telefone.focus();

return (false);

}

if (form1.marca.value == ""){

alert("Por Favor Você esqueceu de digitar o campo marca");

form1.marca.focus();

return (false);

}

if (form1.modelo.value == ""){

alert("Por Favor Você esqueceu de digitar o campo modelo");

form1.modelo.focus();

return (false);

}

  if (form1.ano.selectedIndex < 0)

  {

    alert("Selecione uma das opções \"ano\".");

    form1.ano.focus();

    return (false);

  }

if (form1.valor.value == ""){

alert("Por Favor Você esqueceu de digitar o campo valor");

form1.valor.focus();

return (false);

}

  if (form1.ano.selectedIndex < 0)

  {

    alert("Selecione uma das opções \"ano\".");

    form1.ano.focus();

    return (false);

  }

if (form1.anuncio.value == ""){

alert("Por Favor Você esqueceu de digitar o campo Anuncio");

form1.anuncio.focus();

return (false);

}

}

// -->

  </script>

<form onSubmit="javascript: return valida()" language="javascript" id="form1" name="form1" action="grava.php" method="post">

  <table width="44%" border="2" align="center" bordercolor="#FFFFFF" bgcolor="#CCCCCC">

    <tr>

      <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome:</font></strong></td>

      <td><font color="#000000">

        <input name="nome" type="text" id="nome">

        </font></td>

    </tr>

    <tr>

      <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Email:</font></strong></td>

      <td><font color="#000000">

        <input name="email" type="text" id="email2">

        </font></td>

    </tr>

    <tr>

      <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Telefone:</font></strong></td>

      <td><font color="#000000">

        <input name="telefone" type="text" id="telefone2">

        </font></td>

    </tr>

    <tr>

      <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">icq:

        </font></strong></td>

      <td><font color="#000000">

        <input name="icq" type="text" id="site2">

        </font></td>

    </tr>

    <tr>

      <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">MSN:

        </font></strong></td>

      <td><font color="#000000">

        <input name="MSN" type="text" id="login2">

        </font></td>

    </tr>

    <tr>

      <td height="26"><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Marca:</font></strong></td>

      <td><font color="#000000">

        <input name="marca" type="text" id="marca2">

        </font></td>

    </tr>

    <tr>

      <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Modelo:</font></strong></td>

      <td><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">

        <input name="modelo" type="text" id="modelo">

        </font></td>

    </tr>

    <tr>

      <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Ano:</strong></font></td>

      <td><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">

        <select name="ano" size="1" id="ano">

          <option value="1980">1980</option>

          <option value="1981">1981</option>

          <option value="1982">1982</option>

          <option value="1983">1983</option>

          <option value="1984">1984</option>

          <option value="1985">1985</option>

          <option value="1986">1986</option>

          <option value="1987">1987</option>

          <option value="1988">1988</option>

          <option value="1989">1989</option>

          <option value="1990">1990</option>

          <option value="1991">1991</option>

          <option value="1992">1992</option>

          <option value="1993">1993</option>

          <option value="1994">1994</option>

          <option value="1995">1995</option>

          <option value="1996">1996</option>

          <option value="1997">1997</option>

          <option value="1998">1998</option>

          <option value="1999">1999</option>

          <option value="2000">2000</option>

          <option value="2001">2001</option>

          <option value="2002">2002</option>

          <option value="2003">2003</option>

          <option value="2004">2004</option>

        </select>

        </font></td>

    </tr>

    <tr>

      <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Valor:</font></strong></td>

      <td><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">

        <input name="valor" type="text" id="valor">

        </font></td>

    </tr>

    <tr>

      <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>UF:</strong></font></td>

      <td><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">

        <SELECT name="uf" size="1" id="uf">

          <option value="AC">AC</option>

          <option value="AL">AL</option>

          <option value="AM">AM</option>

          <option value="AP">AP</option>

          <option value="BA">BA</option>

          <option value="CE">CE</option>

          <option value="DF">DF</option>

          <option value="ES">ES</option>

          <option value="GO">GO</option>

          <option value="MA">MA</option>

          <option value="MG">MG</option>

          <option value="MS">MS</option>

          <option value="MT">MT</option>

          <option value="PA">PA</option>

          <option value="PB">PB</option>

          <option value="PE">PE</option>

          <option value="PI">PI</option>

          <option value="PR">PR</option>

          <option value="RJ">RJ</option>

          <option value="RN">RN</option>

          <option value="RO">RO</option>

          <option value="RR">RR</option>

          <option value="RS">RS</option>

          <option value="SC">SC</option>

          <option value="SE">SE</option>

          <option value="SP">SP</option>

          <option value="TO">TO</option>

        </SELECT>

        </font></td>

    </tr>

    <tr>

      <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Anuncio:</font></strong></td>

      <td><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">

        <textarea name="anuncio" rows="6" id="anuncio"></textarea>

        </font></td>

    </tr>

    <tr>

      <td height="28"><font face="Verdana" size="2" color="#000000"><strong>Sua

        foto:</strong></font> </td>

      <td><font color="#808080" size="1" face="Verdana">

        <input type="File" name="foto" size="17" >

        </font></td>

    </tr>

    <tr>

      <td height="28"><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></strong></td>

      <td><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">

        <input name="submit" type="submit" value="Enviar">

        </font></td>

    </tr>

  </table>

  </form>

</body>

</html>

grava.php

<?

/* Este script foi desenvolvido por:

Tulio Ricardo P. Audujas

MSN: suporte@navegahost.com.br

icq: 179719912

site: www.navegahost.com.br

Por Favor mantenha os direitos autorais.

*/

include "config.php";

enctype="multipart/form-data",

foreach ($_POST as $campo => $valor) { $$campo = strip_tags($valor); }

$tamanho = "50000"; //tamanho máximo da foto em bytes

/* upload da imagem para o servidor */

if ($foto != "") {

if ($foto_size > $tamanho)

{die("Arquivo da foto muito grande. Ele deve ter $tamanho bytes ou menos.");}}

    // verifica se tem imagem sendo cadastrada

    if (trim($HTTP_POST_FILES["foto"]["tmp_name"]) != "") {

        // o arquivo é gerado com um nome que nunca se repetirá para evitar que um arquivo existente seja perdido

        // no exemplo, as fotos ficarão dentro do diretório "fotos", é necessário que o mesmo dê permissão total de gravação

        // para o usuário que roda o Servidor web(nobody, wwwrun são os mais comuns)

        $foto = 'up/' . md5(md5($HTTP_POST_VARS["nome"]) . date("YmdHis")) . strstr(basename($HTTP_POST_FILES["foto"]["name"]), '.');

        // arquivo com o local de origem

        $orig = $HTTP_POST_FILES["foto"]["tmp_name"];

        // copia o arquivo para o destino

        if (!copy($orig, $foto)) {

            echo "<br><br><center>Problemas no upload do arquivo: " . $HTTP_POST_FILES["foto"]["name"] . "...<br>";

            $erro = "yes";

            $foto = "";

        }

    }

$cadastrar = "insert into dados(nome, email, telefone, icq, MSN, marca, modelo, ano, valor, uf, anuncio, foto)values('$nome', '$email','$telefone', '$icq', '$MSN', '$marca', '$modelo', '$ano', '$valor', '$uf', '$anuncio', '$foto')";

mysql_query($cadastrar);

//insere os campos na tabela

    if ( $cadastrar == 1 ) {

//MENSAGEM DE CONFIRMAÇÃO DO CADASTRO DO USUÁRIO NO SITE

      echo "

CADASTRAMOS SUA FOTO";

";

      } else {

    echo "

<font face= \"Verdana\"size =\"2\">Ocorreu um erro no servidor ao tentar se cadastrar." . mysql_error() . "</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem

  }

if ($erro == "yes") {// CASO A IMAGEM SEJA MUITO GRANDE NÃO ENVIA PARA O SERVER

            echo "<br><center>A imagem não foi enviada ao servidor.</center>";

        }

        exit();

?>

<div align="center"><a href="classificados.php"><strong><font size="2">Seu anuncio foi registrado</font></strong></a></div>

o que tem errado ai?

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
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...