Skip to content

Commit

Permalink
Melhorando pagina de perfil. Agora é possivel trocar foto de perfil.
Browse files Browse the repository at this point in the history
Related to #15.
  • Loading branch information
dnsaoki2 committed Apr 13, 2016
1 parent a0f35ab commit 84dd8c7
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 1 deletion.
56 changes: 56 additions & 0 deletions src/Script/upload_img.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?php
session_start();
include_once "bd.php";
/* Algumas variaveis
$email = email do usuário logado
$image_dir = diretório onde será salvo a imagem (caminho absoluto)
$nome = nome da imagem sem extensão (unico baseado no email do usuário)
$imagem = caminho absoluto da imagem que foi enviado.
ex. $imagem = /var/www/html/Projeto/src/img/usuario/a09da0kd.jpg
*/
$email = $_SESSION['email'];
$image_dir = "/var/www/html/Projeto/src/img/usuario/";
$nome = basename(md5(uniqid($email, true)));
$imagem = $image_dir . $nome;
$tipo_imagem = pathinfo($image_dir . basename($_FILES["arquivo"]["name"]), PATHINFO_EXTENSION);
$imagem = $imagem . "." . $tipo_imagem;

// Verificar se é uma imagem
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["arquivo"]["tmp_name"]);
if($check === false) {
echo "<script>alert('Arquivo não é uma imagem');history.back();</script>";
return;
}
}

// Checar se já existe
if (file_exists($imagem)) {
echo "<script>alert('Imagem já existe');history.back();</script>";
return;
}

// Checar tamanho da imagem
if ($_FILES["arquivo"]["size"] > 500000) {
echo "<script>alert('Tamanho muito grande');history.back();</script>";
return;
}

// Permitir alguns formatos
if($tipo_imagem != "jpg" && $tipo_imagem != "png" && $tipo_imagem != "jpeg" && $tipo_imagem != "gif" ) {
echo "<script>alert('Desculpe, somente arquivos JPG, JPEG, PNG e GIF são permitidos');history.back();</script>";
return;
}

if (!move_uploaded_file($_FILES["arquivo"]["tmp_name"], $imagem)) {
echo "<script>alert('Desculpe, ocorreu um erro ao enviar a imagem, tente novamente');history.back();</script>";
} else {
$bd = new BD;
$usuario = $bd->findUsuario(array("email" => $email));
if($usuario['foto'] != "img/usuario/default.jpeg"){
unlink("/var/www/html/Projeto/src/" . $usuario['foto']);
}
$bd->updateUsuario(array("email" => $email, "foto" => "img/usuario/" . $nome . "." . $tipo_imagem));
header("location: ../perfil.php");
}
?>
4 changes: 4 additions & 0 deletions src/css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -862,6 +862,10 @@ button.index:focus,
display: inline;
color: white;
}

.file-input {
color: white;
}
/* fim perfil.php */

/* Fim Novas Alterações Desktop */
Expand Down
11 changes: 10 additions & 1 deletion src/perfil.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,20 @@
<div class="row" data-equalizer>
<div class="medium-5 columns panel imagem" data-equalizer-watch>
<table>
<caption align="bottom"><a href="modificar_foto.php">Modificar foto</a></caption>
<caption align="bottom"><a href="#" data-reveal-id="foto">Modificar foto</a></caption>
<tr>
<td><img src="<?=$usuario['foto'];?>"></td>
</tr>
</table>
<div id="foto" class="reveal-modal tiny" data-reveal aria-labelledby="modalTitle">
<h2 id="modalTitle">Modificar foto</h2>
<p class="lead">selecione a imagem para enviar: </p>
<form action="Script/upload_img.php" method="post" enctype="multipart/form-data">
<input type="file" name="arquivo" id="arquivo" class="file-input">
<input type="submit" value="Upload Image" name="submit" class="button expand index">
</form>
<a class="close-reveal-modal" aria-label="Close">&#215;</a>
</div>
</div>
<div class="large-6 columns panel info" data-equalizer-watch>
<h4>Nome:
Expand Down

0 comments on commit 84dd8c7

Please sign in to comment.