Jump to content
Fael_magnata

[Resolvido] sistema de foto de perfil

Recommended Posts

Olá Amigos Gostaria da ajuda de vcs para encontrar um bom tutorial de inserçao de foto de perfil de um usuario tentei desta forma mas nao esta dando certo

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Cadastro de usuário</title>

</head>

 

<?php

// Conexão com o banco de dados

$conect = mysql_connect("localhost", "root", "senha");

if (!$conect) die ("<h1>Falha na coneco com o Banco de Dados!</h1>");

$db = mysql_select_db("a7302932_dofus");

 

// Se o usuário clicou no botão cadastrar efetua as ações

if ($_POST['cadastrar']) {

 

// Recupera os dados dos campos

$foto = $_FILES["foto"];

 

// Se a foto estiver sido selecionada

if (!empty($foto["name"])) {

 

// Largura máxima em pixels

$largura = 500;

// Altura máxima em pixels

$altura = 500;

// Tamanho máximo do arquivo em bytes

$tamanho = 30000;

 

// Verifica se o arquivo é uma imagem

if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto["type"])){

$error[1] = "Isso não é uma imagem.";

}

 

// Pega as dimensões da imagem

$dimensoes = getimagesize($foto["tmp_name"]);

 

// Verifica se a largura da imagem é maior que a largura permitida

if($dimensoes[0] > $largura) {

$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";

}

 

// Verifica se a altura da imagem é maior que a altura permitida

if($dimensoes[1] > $altura) {

$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";

}

 

// Verifica se o tamanho da imagem é maior que o tamanho permitido

if($foto["size"] > $tamanho) {

$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";

}

 

// Se não houver nenhum erro

if (count($error) == 0) {

 

// Pega extensão da imagem

preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);

 

// Gera um nome único para a imagem

$nome_imagem = md5(uniqid(time())) . "." . $ext[1];

 

// Caminho de onde ficará a imagem

$caminho_imagem = "../../img/perfil/" . $nome_imagem;

 

// Faz o upload da imagem para seu respectivo caminho

move_uploaded_file($foto["tmp_name"], $caminho_imagem);

 

// Insere os dados no banco

$query = "INSERT INTO tbl_usuarios foto VALUES '$nome_imagem' WHERE id_usuario ='3'";

mysql_query($query);

 

// Se os dados forem inseridos com sucesso

if ($query){

echo "Você foi cadastrado com sucesso.";

}

}

 

// Se houver mensagens de erro, exibe-as

if (count($error) != 0) {

foreach ($error as $erro) {

echo $erro . "<br />";

}

}

}

}

?>

 

 

<body>

<h1>Cadastro de Usuário</h1>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="cadastro" >

Foto de exibição:<br />

<input type="file" name="foto" /><br /><br />

<input type="submit" name="cadastrar" value="Cadastrar" />

</form>

</body>

</html>

Edited by Mário Monteiro
Retirada a palavra "AJUDA" do Titulo ou Descrição

Share this post


Link to post
Share on other sites

q erro q da??

 

eu to tentando fazer exatamente a mesma coisa :) só tava com problema na permissao da pasta :)

Edited by Mário Monteiro

Share this post


Link to post
Share on other sites

q erro q da??

 

eu to tentando fazer exatamente a mesma coisa :) só tava com problema na permissao da pasta :)

 

 

Resolvido refiz o codigo e agora ele renomeia a foto pegando o id do usuario assim se ele atualiar a foto vai sobrepor a antiga fika ai o codigo pra qm precisar de um sistema como esse

 

<?php 

session_start(); 
include "../../inc/config.php";
include "../../inc/functions.php";  
session_checker();

$id = $_SESSION['id_usuario'];

$sql   =   mysql_query("SELECT * FROM tbl_usuarios WHERE id_usuario ='{$id}'") or die("ERRO NA CONSULTA SQL");
  while($dados = mysql_fetch_array($sql)) {

$id_usuario = $dados["id_usuario"];


}

$file = $_FILES['arquivo'];
$filename = $file['name'];

//renomear imagem pelo id de usuario
$nome = $filename;
$nome_info = pathinfo ($nome);
$nome_foto = $id_usuario .'.'. $nome_info['extension'];

//salvar caminho da imagem no banco de dados
$caminho = "../img/perfil/".$nome_foto;

$query = mysql_query("UPDATE tbl_usuarios SET foto='$caminho' WHERE id_usuario='$id_usuario' ")
or die(mysql_error());

//salvar imagem em uma pasta
$path     = $file['tmp_name'];
$new_path = "../../img/perfil/".$nome_foto;
move_uploaded_file($path, $new_path);

// Vamos usar a biblioteca WideImage para o redimensionamento das imagens
require("../../lib/WideImage/WideImage.php");

// Carrega a imagem enviada
$original = WideImage::load($new_path);

// Redimensiona a imagem original para 1024x768 caso ela seja maior que isto e salva
$original->resize(149, 169, 'inside', 'down')->saveToFile($new_path, null, 90);




?>
Edited by Mário Monteiro

Share this post


Link to post
Share on other sites

boa tarde pessoal,



estou criando um site em php onde existem imagens de avatares, porém quando o usuário faz o upload da imagem dele e atualiza a página porém a imagem não se altera, gostaria de saber se existe alguma forma de fazer esta atualização sem que o usuário tenha que limpar o cache do navegador.


Desde já agradeço


Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.