taudujas Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 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. 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 = ""; } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 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.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 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.. 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.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 Isso, mas eu pensava que mudaria se eu fosse pegar foto em alguma coisa..valeu cara. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 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ó!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 Firmeza cara, obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 Firmeza cara, obrigado. Disponha! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 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 blalembre-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 fotoEsse script além de funcionar perfeitamente nunca deixará a imagem se repetir..... por isso eu usei o MD5 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 ah legal, ele ta completao ai? voce tem ele em funcionamento para eu ver?? se voce puder me passar ele completao desde do formulario até o banco eu agradeço...valeu cara. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 Código HTML:foto.html<font face="Verdana" size="1" color="#808080"> 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 INPUTfoto.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();?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 Ok, valeu cara , se possivel o banco tb.. já to pedindo muito..eheehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 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 brincadeira...Dá uma olhada no post acima.... quanto ao BD você tem que configurar o campo que recebe a foto como VARCHAR255 e padrão igual a NULL não tem segredo nenhum! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 Beleza, obrigado Dr. Spok! hehe o site não precisa, na verdade não é site não. é um script de classificados que postei la no tópico de scripts e agora estou melhorando ele.. valeu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 Spok, esta certo o foto.html é só isso mesmo? o certo é colocar dentro do form e o action sera o foto.php?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 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?! 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 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..heheQual a melhor forma que voce acha para que fazer?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 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 actionVeja 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.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 Beleza, obrigado ai, vou tentar..vlw. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rEd nEcK * Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 so lembrando que para upload não pode esquecer do enctype="multipart/form-data", sem isso não envia, eu já fiquei dias procurando erro no meus sistemas e era esse maldito ae..é issofalou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 so lembrando que para upload não pode esquecer do enctype="multipart/form-data", sem isso não envia, eu já fiquei dias procurando erro no meus sistemas e era esse maldito ae..é issofalou Sem dúvida....!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 Olha como que ta e não ta cadastrando:anunciar.php<?/* Este script foi desenvolvido por:Tulio Ricardo P. AudujasMSN: suporte@navegahost.com.bricq: 179719912site: www.navegahost.com.brPor 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"> </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. AudujasMSN: suporte@navegahost.com.bricq: 179719912site: www.navegahost.com.brPor 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr.Spok Postado Julho 24, 2004 Denunciar Share Postado Julho 24, 2004 você usou:enctype="multipart/form-data", Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 24, 2004 Autor Denunciar Share Postado Julho 24, 2004 Acabei de colocar e não deu certo.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
taudujas
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.
Link para o comentário
Compartilhar em outros sites
34 respostass a esta questão
Posts Recomendados
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.