A muito tempo estava a procura de como fazer este sistema e agora que consegui compartilhos ele com vocês
Tabela : FOTOS
CREATE TABLE `fotos` (
`Id` varchar(15) NOT NULL,
`foto` varchar(50) NOT NULL,
UNIQUE KEY `Id` (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Este script serve para quem tem um sistema de login e quer colocar fotos para os usuarios
necessario:
servidor php
editor de html/php - bloco de notas - Dremweaver .....
conhecimento minimo de php requerido
sistema de login (de prefereça o gerado pelo Dreamweaver{por causa dos nomes das variaveis de sessão})
pasta (no exemplo = fotos) dentro do ditretorio onde salvara os proximos 2 arquivos
O arquivo SET.PHP é responsavel pelo upload da foto e inserçao do nome de usuario logado e o path da foto na tabela foto do MySQl,verificação do aquivo enviar
<?php require('Connections/teste.php'); ?>
<?php
if (!isset($_SESSION)) {
session_start();
}
?>
<?php
$colname_cfoto_rs = "-1";
if (isset($_SESSION['MM_Username'])) {
$colname_cfoto_rs = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_teste, $teste);
$query_cfoto_rs = sprintf("SELECT * FROM fotos WHERE Id = '%s'", $colname_cfoto_rs);
$cfoto_rs = mysql_query($query_cfoto_rs, $teste) or die(mysql_error());
$row_cfoto_rs = mysql_fetch_assoc($cfoto_rs);
$totalRows_cfoto_rs = mysql_num_rows($cfoto_rs);
?>
<?php // upload/validação da foto e upload do path para a tabela
$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"] = 100000000;
// Largura máxima (pixels)
$config["largura"] = 100000000;
// Altura máxima (pixels)
$config["altura"] = 10000000;
// 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|jpg|png)$", $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>";
}
}
// 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];
// Caminho de onde a imagem ficará
$imagem_dir = "fotos/" . $imagem_nome;
//usuario a ser inserido no bd
$usuariologado = $_SESSION['MM_Username'];
// insere no banco de dados
$insertSQL = sprintf("INSERT INTO fotos(Id, foto) VALUES ('$usuariologado', '$imagem_nome')");
mysql_select_db($database_teste, $teste);
$Result1 = mysql_query($insertSQL, $teste) or die(mysql_error());
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
echo "Sua foto foi enviada com sucesso!";
echo "<meta http-equiv='refresh' content='1' />";
}
}
// atualização/validação da foto e upload do path para a tabela
$erro = $config = array();
// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto2"]) ? $_FILES["foto2"] : FALSE;
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 100000000;
// Largura máxima (pixels)
$config["largura"] = 100000000;
// Altura máxima (pixels)
$config["altura"] = 10000000;
// 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|jpg|png)$", $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 />";
}
}
// 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 = $row_cfoto_rs['foto'];
// Caminho de onde a imagem ficará
$imagem_dir = "fotos/" . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
echo "Sua foto foi atualiza com sucesso!";
echo "<meta http-equiv='refresh' content='1' />";
}
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
z-index:4;
left: 10px;
top: 49px;
background-color: #FF9900;
}
#Layer2 {
position:absolute;
width:386px;
height:300px;
z-index:2;
left: 351px;
top: 37px;
}
#Layer3 {
position:absolute;
width:324px;
height:188px;
z-index:3;
left: 10px;
top: 180px;
}
#Layer4 {
position:absolute;
width:237px;
height:67px;
z-index:1;
left: 10px;
top: 49px;
background-image:url(/eteca/fotos/fundo1.gif);
}
-->
</style>
</head>
<body>
<?php if ($totalRows_cfoto_rs == 0) { // Show if recordset empty ?>
<div id="Layer1">
<form method="post" enctype="multipart/form-data" name="uploadform">
<input type="file" name="foto"><br />
<input type="submit" value="Enviar Foto!">
</form>
</div>
<?php } // Show if recordset empty ?>
<div id="Layer2"></div>
<?php if ($totalRows_cfoto_rs > 0) { // Show if recordset not empty ?>
<div id="Layer3">
<p>Foto atual : <img src="fotos/<?php echo $row_cfoto_rs['foto']; ?>" /> </p>
<p>Atualizar foto :</p>
<form method="post" enctype="multipart/form-data" name="uploadform2">
<input type="file" name="foto2"><br />
<input type="submit" value="Enviar Foto!">
</form>
<p><a href="deletar.php?foto=<?php echo $row_cfoto_rs['foto']; ?>">Deletar foto </a></p>
<p> </p>
</div>
<?php } // Show if recordset not empty ?>
<div id="Layer4"></div>
</body>
</html>
<?php
mysql_free_result($cfoto_rs);
?>
O SET.PHP alem de fazer o upload serve tambem para atualizar a foto
e lincar para o arquivo que deleta a foto do bd e da pasta
ele verifica c a tabela foto contem um campo com Id= Nome de usuario do sistema de login = ao usuario logado o momento
c sim ele mostra a foto dese usuario um formulario para mudar a foto e um link para deletar a foto
cao o usuario logado não tenha nenhum dado na tabela foto ele mostra o formulario de upload que envia a foto pro servidor e insere no bd o nome de usuario e o path da foto
a foto vai para a pasta e para o bd com um nome uniko gerado pela função
md5(uniqid(time())) que gera um arquivo uniko em no minimo 10 milhões :blink:
o link deletar foto é um link para pagina deletar.php com a variavel foto= path da foto
já é possivel testar seu sistema de upload foto ira para pasta Fotos e tabela vai ter id = usuario logado e path do arquivo com a extensão
Esse arquivo esta configurado para só aceitar arquivos de img caso queira que o upload seja de videos ou outros arquivos :
Procure por
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp|jpg|png)$", $arquivo["type"]))
e
// Pega extensão do arquivo
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name], $ext);
mude o gif , png, jpeg, ....
para os arquivos desejados como
por exemplo:
paginas de web
html|php|htm|php3|asp|cfm|js|jsp|etc
videos
asf|wmv|vid|vob|rmvb|....
o arquivo DELETAR.php
Pergunta
Zero Cool
A muito tempo estava a procura de como fazer este sistema e agora que consegui compartilhos ele com vocês
Tabela : FOTOS
Este script serve para quem tem um sistema de login e quer colocar fotos para os usuarios necessario: servidor php editor de html/php - bloco de notas - Dremweaver ..... conhecimento minimo de php requerido sistema de login (de prefereça o gerado pelo Dreamweaver{por causa dos nomes das variaveis de sessão}) pasta (no exemplo = fotos) dentro do ditretorio onde salvara os proximos 2 arquivos O arquivo SET.PHP é responsavel pelo upload da foto e inserçao do nome de usuario logado e o path da foto na tabela foto do MySQl,verificação do aquivo enviar O SET.PHP alem de fazer o upload serve tambem para atualizar a foto e lincar para o arquivo que deleta a foto do bd e da pasta ele verifica c a tabela foto contem um campo com Id= Nome de usuario do sistema de login = ao usuario logado o momento c sim ele mostra a foto dese usuario um formulario para mudar a foto e um link para deletar a foto cao o usuario logado não tenha nenhum dado na tabela foto ele mostra o formulario de upload que envia a foto pro servidor e insere no bd o nome de usuario e o path da foto a foto vai para a pasta e para o bd com um nome uniko gerado pela função md5(uniqid(time())) que gera um arquivo uniko em no minimo 10 milhões :blink: o link deletar foto é um link para pagina deletar.php com a variavel foto= path da foto já é possivel testar seu sistema de upload foto ira para pasta Fotos e tabela vai ter id = usuario logado e path do arquivo com a extensão Esse arquivo esta configurado para só aceitar arquivos de img caso queira que o upload seja de videos ou outros arquivos : Procure por e mude o gif , png, jpeg, .... para os arquivos desejados como por exemplo: paginas de web html|php|htm|php3|asp|cfm|js|jsp|etc videos asf|wmv|vid|vob|rmvb|.... o arquivo DELETAR.phpO arquivo deletar.php
deleta a foto utilizando a função do C
unlink("caminhodafoto/$foto");
a variavel $foto é a que é passada pelo link da pagina set.php lembram-se?
o deletar.php vai apagar a foto no diretorio fotos e deletar da tabela o Id e o path WHERE foto=caminho
fazendo com que dá proxima vez que o usuario entrar na pagina set.php ele veja a area de upload e não a de atualizar.
Editado por Zero CoolLink para o comentário
Compartilhar em outros sites
17 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.