Jump to content


Photo

Gravar Caminho Da Imagem No Banco De Dados


  • Faça o login para participar
10 replies to this topic

#1 leandrok

leandrok

    Normal

  • Usuários
  • 100 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR

Posted 27/02/2006, 20:53

olá galera blz. bom sou iniciante no php e to com umas duvidas, gostaria de saber como que eu faço por exemplo pra gravar umas 4 imagem no campo imagem quando eu faço o cadastro. espero que tenha explicado bem. t+


obrigado.

Edição feita por: leandrok, 27/02/2006, 21:20.


#2 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 27/02/2006, 21:04

você quer gravar a IMAGEM no banco de dados ou somente o nome dela ?

se for a IMAGEM você tera que definir o TIPO do campo como BLOD ( algo do tipo ) e salva a imagem normalmente ;)

não e recomendavel fazer isso, pois com o tempo você vai sobrecarregando o servidor!!!

ah vários tópicos sobre o assunto ;)

T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#3 leandrok

leandrok

    Normal

  • Usuários
  • 100 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR

Posted 27/02/2006, 21:15

desculpe por eu me expressar mal eu quero gravar somente o caminho da imagem no banco de dados "nome dela", so que eu quero saber como que faz pra gravar 4 caminhos num campo imagem. espero que agora de pra entender melhor.


abraços t+

#4 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 27/02/2006, 21:39

4 caminhos ? O.o

pra você gravar somente o nome da imagem + o caminho e simples
$_FILES['nome_do_campo_tipo_file']['nome']

o código logo acima, você irá colocar dentro da QUERY quando você estiver fazendo um INSERT.
e antes do código você coloca o caminho normalmente

$Sql = mysql_query("INSERT INTO tabela (imagem) VALUES ('/caminho/{$_FILES['nome_do_campo_tipo_file']['name']}')");


qualquer dúvida é só falar

T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#5 guaxinim

guaxinim

    Turista

  • Usuários
  • 49 posts
  • Sexo:Não informado

Posted 27/02/2006, 21:44

você quer gravar a IMAGEM no banco de dados ou somente o nome dela ?

se for a IMAGEM você tera que definir o TIPO do campo como BLOD ( algo do tipo ) e salva a imagem normalmente ;)

não e recomendavel fazer isso, pois com o tempo você vai sobrecarregando o servidor!!!

ah vários tópicos sobre o assunto ;)

T+

O nome do campo é BLOB
e é recomendavel sim é mais seguro guardar as imagems lá.

#6 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 27/02/2006, 23:08

você quer gravar a IMAGEM no banco de dados ou somente o nome dela ?

se for a IMAGEM você tera que definir o TIPO do campo como BLOD ( algo do tipo ) e salva a imagem normalmente ;)

não e recomendavel fazer isso, pois com o tempo você vai sobrecarregando o servidor!!!

ah vários tópicos sobre o assunto ;)

T+

O nome do campo é BLOB
e é recomendavel sim é mais seguro guardar as imagems lá.

então ta , se você acha que e recomendavel , então guarda 100 images de 3MB ( BMP por exemplo ) que voê irá ver o que irá acontencer com o seu banco de dados :assobio:

segurança ? uhhh não sei não , pode até ser + seguro porém ao carregar uma imagem você irá ver que irá DEMORAR + :rolleyes:

ah obrigado por falar que é BLOB ao invés de GLOB , sempre me confundo :P

T+

Edição feita por: Goku Jr, 27/02/2006, 23:09.

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#7 Fábio Luciano

Fábio Luciano

    Ativo

  • Usuários
  • 309 posts
  • Sexo:Masculino
  • Localidade:Santa Maria / DF
  • Interesses:Ah eu gosto de tudo :D

Posted 28/02/2006, 05:47

Imagina 500 pessoas acessando o seu site simultâneamente e do nada BUM!!!!, MySQL cai, por que o coitado não aguentou de tanta requisição ao mesmo tempo. Apesar das maquinas onde ficam os servidores serem verdadeiras máquinas, elas não fazerm milagres ;)
Gravar imagens no DB, acho que é meio que suicídio(minha opnião) se pretende ter um site grande... Colocar o caminho é bem mais "Prático".

#8 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/02/2006, 07:17

Se terão campos para 4 imagens, checa os valores que retornaram das variáveis:
$_FILES['nome_do_campo1']['name'][0];
$_FILES['nome_do_campo2']['name'][1];
$_FILES['nome_do_campo3']['name'][2];
$_FILES['nome_do_campo4']['name'][3];

Se tiver valor no campo, você registrar no BD.

Leitura:
http://www.php.net/empty
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#9 leandrok

leandrok

    Normal

  • Usuários
  • 100 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR

Posted 28/02/2006, 12:40

fala blz bom eu fiz isso aqui. ta

<html>
<head>
<title>|:::| Sistema em PHP desenvolvido por Kau&ecirc; Porte |:::|</title>
<link rel="stylesheet" href="estilos/estilos.css" type="text/css">
<script>
function desabilita(){
setTimeout('document.up_form.enviar_imagem.disabled = true', 0000);
document.getElementById("enviar_imagem").value = "Enviando Arquivo...";
}
</script>
</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<div align="center">
  <table width="100%" height="10" border="0" cellpadding="0" cellspacing="0" bgcolor="#999999">
    <tr>
      <td height="10"></td>
    </tr>
  </table>
  <form action="upload.php" method="post" enctype="multipart/form-data" name="up_form" id="up_form">
    <table width="400" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td height="20" align="center" valign="middle" bgcolor="#999999"> <div align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>
            Upload de imagens<br>
            </strong></font></div></td>
      </tr>
      <tr>
        <td valign="top" bgcolor="#CCCCCC"> <div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br>
            </font>
            <table width="300" border="0" align="center" cellpadding="0" cellspacing="3">
              <tr>
                <td><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">Selecione
                    a imagem e clique em "Enviar Imagem"<br>
                    # arquivos jpg e gif<br>
                    # m&aacute;ximo de 2mb<br>
                    <br>
                    <input name="arquivo" type="file" class="campos" id="arquivo" size="25">
                    </font></div></td>
              </tr>
            </table>
            <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br>
            <input name="enviar_imagem" onclick="desabilita();" type="submit" class="botao" id="enviar_imagem" style="border: 1px #000000 solid" value="Enviar Imagem">
            <br>
            <br>
            <br>
            </font></div></td>
      </tr>
    </table>
  </form>
  <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Patrocinado por: <a href="http://www.rudgesbc....strong></a><br>
  Developed by Kau&ecirc; Porte<br>
  Copyright &copy; 2002-2004 Rudgesbc.com.br - Todos os direitos reservados.</font></div>
</body>
</html>


so que eu to com dificuldades, eu ja até tinha coseguindo gravar o nome das imagens em varios campos 4 campos, so que eu quero agora gravar o nome das quatro em 1 campo so.

achei esse codigo aqui no fórum

<?

include("config.php"); //inclui as informações do database

$imagem = $_FILES["arquivo"]["name"]; //pega o nome do arquivo
$temp_imagem = $_FILES["arquivo"]["tmp_name"]; //pega o "temp" do arquivo
$tipo = $_FILES["arquivo"]["type"]; //pega o tipo do arquivo
$tamanho = $_FILES["arquivo"]["size"]; //pega o tamanho do arquivo
$t_maximo = 2000000; //tamanho máximo do arquivo - em bytes
$diretorio = "fotos/"; //pasta onde o arquivo será gravado

if ($imagem == "") {  //checa se o campo não foi enviado vazio
  $erro = "Escolha um arquivo á ser enviado";
} elseif (ereg("[][><}{)(:;,!?*%&#@]", $imagem)) {  //checa caracteres inválidos (aconselho não modificar)
  $erro = "O nome do arquivo contém caracteres inválidos";
} elseif ($tamanho > $t_maximo) {  //checa se o arquivo não ultrapassou o limite
  $erro = "O tamanho máximo permitido é de 2MB";
} elseif (!eregi("[gif|jpeg|jpg]", $tipo)) { //checa a extensão do arquivo - para liberar mais tipos, apenas acrescente "|extensão do arquivo" ex: [gif|jpeg|jpg|png]
  $erro = "Tipo de arquivo inválido";
} elseif (is_file($imagem)) { //checa se é mesmo um arquivo
  $erro = "Selecione um <u>arquivo</u> á ser enviado";
} elseif (is_dir($imagem)) { //checa se não é um diretório
  $erro = "Selecione um <u>arquivo</u> á ser enviado";
} elseif (file_exists("$diretorio"."$imagem")) { //checa se o arquivo já existe no diretório
  $erro = "Já existe um arquivo com este nome $imagem, por favor, renomeie-o";
}

if ($erro == "") { //se não ocorreram erros, vamo gravar o arquivo no server e no db
move_uploaded_file($temp_imagem, $diretorio.$imagem); //grava o arquivo na pasta do server que foi especificada
$insert = " INSERT INTO tabela (nome,) VALUES ('$nome') "; //gravando os dados no db
$sql_ins = mysql_query($insert) or die ("Não foi possível inserir os valores no banco de dados"); // ''
  header("location:suc_up.php"); //se tudo ocorreu bem, vamos á página de sucerro
} else {
  header("location:erro.php?id=$erro"); //se houve algum erro, vai para a página de erro e mostra qual o problema
}

?>

so que ele faz o upload so de um arquivo e grava no bd, queria uma ajudinha de vcs que sabem mais do que eu pra modificar pra 4 blz. brigadão.


t+

Edição feita por: leandrok, 28/02/2006, 12:41.


#10 guaxinim

guaxinim

    Turista

  • Usuários
  • 49 posts
  • Sexo:Não informado

Posted 28/02/2006, 13:06

Imagina 500 pessoas acessando o seu site simultâneamente e do nada BUM!!!!, MySQL cai, por que o coitado não aguentou de tanta requisição ao mesmo tempo. Apesar das maquinas onde ficam os servidores serem verdadeiras máquinas, elas não fazerm milagres ;)
Gravar imagens no DB, acho que é meio que suicídio(minha opnião) se pretende ter um site grande... Colocar o caminho é bem mais "Prático".

eu falei que é recomendavel não barato

tem que te maquina pra aguenta isso
de preferencia uma só pra DB. e é melhor que os usuario enfiem só jpg ou png ou formatos com comressão. bmp é suicidio mesmo.

#11 leandrok

leandrok

    Normal

  • Usuários
  • 100 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR

Posted 28/02/2006, 13:47

o galera vamo dar uma força ai. por favor

Edição feita por: leandrok, 28/02/2006, 13:47.





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq