Ir para conteúdo
Fórum Script Brasil
  • 0

update imagem de perfil


danersphp

Pergunta

Fala galera, tudo bem? Estou aprendendo PHP e certamente o meu problema deve ser simples de resolver, porém Google e amigos não me ajudaram muito.

Estou fazendo uma tela de perfil com foto. O upload e display dela está ok. Porém quando altero algum outro dado da página e salvo, a imagem é deletada do banco (ou pelo menos some do banco). Como posso alterar dados nesta tela sem perder a imagem de perfil atual? VALEU!

View da tela:

<?php foreach($info as $info): ?>

<div class="form-group">
        <img src="assets/images/perfil/<?php echo $info['foto']; ?>" border="1" class="perfil_pic" /><br />
        <input type="file" name="foto" class="btn btn-default add_file" style="float:left;"/>
    </div>

<?php endforeach; ?>

Controller da tela:

$u = new Usuarios();

if(isset($_POST['nome']) && !empty($_POST['nome'])){
      $img = $_FILES['foto'];
      $email = addslashes($_POST['email']);
      $senha = base64_encode($_POST['senha']);
      $nome = addslashes($_POST['nome']);
      $sobrenome = addslashes($_POST['sobrenome']);
            $aniversario = addslashes($_POST['aniversario']);
            $bio = addslashes($_POST['bio']);

      $u->updatePerfil($img, $email, $senha, $nome, $sobrenome, $aniversario, $bio);

Model da tela:

public function updatePerfil($pic, $email, $senha, $nome, $sobrenome, $aniversario, $bio){
            $id = $_SESSION['fkr'];
            $url = '';
            if (count($pic) > 0) {
                $tipos = array('image/jpeg','image/jpg','image/png');
                if (in_array($pic['type'], $tipos)) {
                    $url = 'perfilatual';
                    switch($pic['type']){
                        case 'image/jpeg':
                        case 'image/jpg':
                            $url .= '.jpg';
                            break;
                        case 'image/png':
                            $url .= '.jpg';
                            break;
                }
            }
             move_uploaded_file($pic['tmp_name'], 'assets/images/perfil/' . $url);
         }
            $sql = "UPDATE usuarios SET foto = '$url', senha = '$senha', email = '$email', nome = '$nome', sobrenome = '$sobrenome', aniversario = '$aniversario', bio = '$bio' WHERE id = '$id'";
            $this->db->query($sql);
        }

Link para o comentário
Compartilhar em outros sites

2 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...