Jump to content


Photo

Upload De Imagem E Salvar No Banco Mysql


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

#1 Sidinelson10

Sidinelson10

    Turista

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

Posted 14/11/2008, 15:34

olá pessoal eu sou novo em programação em php e to com uma duvida de como eu faço esse upload
eu tenho um aki mais tennha duvida como faço pra salvar esse arquivo no banco mysql qual tipo seria no banco :unsure:

Considere este script como exemplo:

[ PÁGINA HTML - upload.htm ]

<html>
<head>
<script language="JavaScript">
<!--
function teste(){
if (document.upload.arquivo.value=="") {
alert("Arquivo para upload não informado!")
document.upload.arquivo.focus()
return false
}
}
//-->
</script>
</head>
<body>
<h2>Upload Simples</h2><br>
<form name="upload" action="upload.php" method="post" enctype="multipart/form-data" onsubmit="return teste()">
<input type="file" name="arquivo" size="60">
<br>
<input type="submit" name="enviar" value="Upload!">
</form>
</body>
</html>

[ PÁGINA PHP - upload.php ]

<?
/* Defina aqui o tamanho máximo do arquivo em bytes: */
if($_FILES['arquivo']['size'] > 1024000) {
print "<script> alert('Seu arquivo não poderá ser maior que 1mb'); window.history.go(-1); </SCRIPT>\n";
exit;
} 

/* Defina aqui o diretório destino do upload */ 
if (!empty($_FILES['arquivo']['tmp_name']) and is_file($_FILES['arquivo']['tmp_name'])) {
$caminho="upload/";
$caminho=$caminho.$_FILES['arquivo']['name']; 

/* Defina aqui o tipo de arquivo suportado */ 
if ((eregi(".gif$", $_FILES['arquivo']['name'])) || (eregi(".jpg$", $_FILES['arquivo']['name']))){
copy($_FILES['arquivo']['tmp_name'],$caminho);
//move_uploaded_file($_FILES['arquivo']['tmp_name'], $caminho . $_FILES['userfile']['name']);
print "<h1><center>Arquivo enviado com sucesso!</center></h1>";
}
else{
print "<h1><center>Arquivo não enviado!</center></h1>";
print "<h2><font color='#FF0000'><center>Caminho ou nome de arquivo Inválido!</center></font></h2>";
}
}
?>


#2 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 15/11/2008, 10:20

Você pode salvar a imagem no diretório e pegar o endereço dela e salvar no banco de dados.
Depois recupera o endereço e exibe.

Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#3 Sidinelson10

Sidinelson10

    Turista

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

Posted 16/11/2008, 17:19

e como eu faço pra copiar essa imagem pra que eu posso coloca essa imagem dentro de uma pasta no servidor
vc sabe como eu faço isso ?

#4 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 16/11/2008, 19:13

Você também pode salvar a imagem no banco de dados utilizando um campo do tipo BLOB ou semelhante.
A vantagem é que você garante a integridade dos dados.
A desvantagem é que o processo de desenvolvimento fica um pouco mais complicado, o banco de dados fica maior (o que exige pode exigir um pouco mais de habilidade na administração do BD) e você utiliza mais processamento para exibir essa imagem, uma vez que precisará reconstruí-la toda vez.

Pode parecer que guardar a imagem no BD não é uma boa idéia, mas em determinados casos esse custo se paga com sobras.

O Micrososft SQL Server 2008 foi lançado com um recurso interessante que permite forçar integridade de uma linha do BD com um arquivo externo.
Não testei e ainda pago pra ver se a idéia é realmente esse chuchu todo, mas se funcionar.... o MS SQL Server vai recuperar alguns dos pontos que perdeu comigo! rs...

--

Mas sem enrolar mais, :P utilize a função move_uploaded_files()... se ainda assim não ficar claro, dê uma busca por "upload" aqui no fórum... acho que vai achar uns scripts prontinhos! (y) ok?

#5 Sidinelson10

Sidinelson10

    Turista

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

Posted 16/11/2008, 20:50

muito obrigado ....




1 user(s) are reading this topic

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

IPB Skin By Virteq