Form:
<!-- IMAGEM EM AMOSTRA -->
<?php
//Busca pela imagem no banco de dados
$sql = "SELECT img FROM usuarios WHERE img= '$img'";
$sel = mysqli_query($conexao, $sql);
if (mysqli_num_rows($sel) != 1) {
// Se o usuario não tiver feito o upload uma imagem, ele mostra a padrão
echo'<a href="#"><img src="exemplo/fotos/default.png" class="header_container_img navbar-perfil-img id="img"/>"</a>';
}
else{
// Caso o usuario tenha definido uma imagem, ele busca no banco de dados e mostra
include ("../includes/atualiza_img.php");
}
?><!-- </ Termina Codigo PHP pra buscar a imagem de perfil-->
<!-- IMAGEM EM AMOSTRA -->
<input type="file" id="file-input" name="file-input" class="btn btn-warning"/>
<br /><br />
<!-- BOTaO DE ENVIO -->
<?php $_SESSION['img'] = $img; ?>
<button type="submit" class="btn btn-warning" name="salvar" id="salvar">Enviar formulurio</button>
</form>
javascript code:
<script>
$('#file-input').change(function() {
$('#form').ajaxForm({
url: '../includes/processa-formulario.php',
type: 'post',
success: function(data){
$('#img').attr('src', data);
}
}).submit();
});
</script>
process-form.php:
<?php
copy($_FILES['file-input']['tmp_name'], '../usuarios/imagens-enviadas/'.$_FILES['file-input']['name']);
echo '../usuarios/imagens-enviadas/'.$_FILES['file-input']['name'];
?>
upload_check ::
<?php
// Realiza a conexão com o banco de dados
include ("../bd/bd.php");
//inicia a sessão
session_start();
//Verifica se o usuario esta logado
if((!isset ($_SESSION['user_id']) == true))
{
unset($_SESSION['user_id']);
unset($_SESSION['email']);
header('location: login.php');
}
//recupera os dados dos campos
$user_id = $_SESSION['user_id'];
$img = $_SESSION['img'];
$email = $_SESSION['email'];
$user_imagem_nome = $user_id . "perfil" . '.' . 'jpg';
$foto = $_FILES["file-input"];
// Se a foto estiver sido selecionada
if (!empty($foto["name"])){
// Largura máxima em pixels
$largura = 1800;
// Altura máxima em pixels
$altura = 1800;
// Tamanho máximo do arquivo em bytes
$tamanho = 5000;
$error = array();
// Verifica se o arquivo é uma imagem
if(!preg_match("/^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";
}
// 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 = $user_id . "perfil" . '.' . 'jpg';
// Caminho de onde ficará a imagem
$caminho_imagem = "../usuarios/" . "$user_id" . "/fotos/" . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
// Da select no banco de dados
$sql = "SELECT img FROM usuarios WHERE user_id= '$user_id'";
$sel = mysqli_query($conexao, $sql);
if (mysqli_num_rows($sel) != 1) {
//o id naum se encontra no banco de dadeos
$erro[4];
}else
{
//Caso o select tenha sido sucesso
if ($sql){
// $img agr armazena o novo nome da imagem
$img = $nome_imagem;
//Faz o update, adicionando o nome da imagem no banco de dados
$query = "UPDATE usuarios SET img='$img' WHERE user_id='$user_id'";
$cadastrar = mysqli_query($conexao, $query);
if($cadastrar)
{
echo'<?php header('location: perfil.php'); ?>'
}
else{
//Caso tenha ocorrido algum erro no banco de dados
echo "Erro ao carregar foto. Tente novamente";
}
}
}
}
}
// Se houver mensagens de erro, exibe-as
echo "erro";
?>