Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
eae pessoal ,
preciso de uma ajuda , tenho um codigo que salva a imagem no banco de dados como longblob , porem quando eu pucho a imagem do banco , ela vem totalmente descriptografada , toda bagunçada
eu uso esse codigo para puchar
$resultado = "SELECT * FROM usuario WHERE userlogin = '$criptoNomeUsuario' AND ativo = 'sim'";
esse codigo pucha todos os resultados do banco perfeitamente ,
nome , id , data e tudo mais , porem quando coloco a imagem , ela da erro e não sei o pq
uso este codigo para gravar os dados na sessao:
$fotoPessoa = $listagem ["fotouser"];
$_SESSION['fotouser'] = $fotoPessoa;bom , gostaria de guardar a foto dentro do banco de dados e o unico jeito que eu consegui fazer ate agora foi com blob , tem algum tuto que mostre como fazer ?? a ideia erra guardar a foto do usuario , tipo foto de perfil , e depois pucha-la para mostrar na tela de usuario
Cara, guardar imagem em banco não é uma boa prática.
O correto é guardar apenas o nome da imagem, e guardar a imagem em uma pasta direcionada apenas para isso.
Para exibir a foto depois, basta chamá-la como no exemplo abaixo:
<img src ="pasta/da/imagem/<?php echo $row['imagem']; ?>" />bom pessoal eu criei assim :
index.php
<form action="upload.php" method="POST" enctype="multipart/form-data">
foto : <input type="file" required name="arquivo">
<input type="submit" value="enviar">
</form>
upload.php
<?php
include 'conexao.php';
$msg = false;
if(isset($_FILES['arquivo'])){
$extensao = strtolower(substr($_FILES['arquivo']['name'], -4));
$novo_nome = md5(time()) . $extensao;
$diretorio = "img/";
move_uploaded_file($_FILES['arquivo']['tmp_name'], $diretorio.$novo_nome);
$sql_enviar_noticia = mysqli_query($conecta, "INSERT INTO arquivo (codigo, arquivo) VALUES (null, '$novo_nome')");
header("location:index.php");
?>
oque acham ?
mas nao estou conseguindo criar um esquema para puchar a imagem do diretorio e tambem nao estou conseguindo criar uma variavel que retorne Mensagens da pagina upload.php para a index.php como erro ou upload bem sucedido como <?php if($msg != false) echo "<p> $msg </p>"; ?>
mais alguma dica pessoal ?
Tranquilo aew??? Então eu tenho o que você precisa, sigua esse link do meu GitHub
https://github.com/ckcesar/UploadsImagens
É só baixar o projeto e colocar pra rodar na sua máquina, esta bem detalhado o upload das imagens, como busca do diretório.
Espero ter ajudado.
>
Tranquilo aew??? Então eu tenho o que você precisa, sigua esse link do meu GitHub
https://github.com/ckcesar/UploadsImagens
É só baixar o projeto e colocar pra rodar na sua máquina, esta bem detalhado o upload das imagens, como busca do diretório.
Espero ter ajudado.
eae man , entao , preciso que ela guarde a foto no banco e que depois jogue a foto denovo no meu html quando eu solicitar , esse esquema que vc mandou pra min n deu muito certo pra min :/
Cara, como o colega DSerma disse, não é uma boa prática.
Como sempre existe uma possibilidade... você pode encodar a imagem em base64 e inserir a "stringona"... / isso não é legal /
Não aconselho utilizar por inúmeros motivos!!
Se atente, NÃO é um conselho... é uma possibilidade!
O ideal é você otimizar as suas imagens, upar-las na sua pasta de imagens ou cloud storage, e inserir apenas o nome da imagem no seu banco de dados.
Com isso, quando você requerer a imagem, você fará como o colega DSerma também disse.
Abraço!
>
Cara, como o colega DSerma disse, não é uma boa prática.
Como sempre existe uma possibilidade... você pode encodar a imagem em base64 e inserir a "stringona"... / isso não é legal /
Não aconselho utilizar por inúmeros motivos!!
Se atente, NÃO é um conselho... é uma possibilidade!
O ideal é você otimizar as suas imagens, upar-las na sua pasta de imagens ou cloud storage, e inserir apenas o nome da imagem no seu banco de dados.
Com isso, quando você requerer a imagem, você fará como o colega DSerma também disse.
Abraço!
opa , eu intendi isso man, e que não me expresei bem no comentario de cima , bom eu dei uma pesquisada e tem bastante gente falando a mesma coisa
index.php
<h1> up </h1>
<?php if($msg != false) echo "<p> $msg </p>"; ?>
<form action="upload.php" method="POST" enctype="multipart/form-data">
foto : <input type="file" required name="arquivo">
<input type="submit" value="enviar">
</form>
<img src ="img/<?php echo $row['arquivo']; ?>" />
upload.php
<?php
include 'conexao.php';
$msg = false;
if(isset($_FILES['arquivo'])){
$extensao = strtolower(substr($_FILES['arquivo']['name'], -4));
$novo_nome = md5(time()) . $extensao;
$diretorio = "img/";
move_uploaded_file($_FILES['arquivo']['tmp_name'], $diretorio.$novo_nome);
$sql_enviar_noticia = mysqli_query($conecta, "INSERT INTO arquivo (codigo, arquivo) VALUES (null, '$novo_nome')");
if(!mysqli_query($sql_enviar_noticia)){
$msg = "Falha ao enviar o arquivo";
}
else
{$msg = "Arquivo enviado com sucesso";}
header("location:index.php");
}
?>
oq vcs acham deste codigo ?? porem nao consegui puchar a imagem ainda do banco e nem deletala do banco junto com a imagem do diretorio , e a variavel $msg tambem n funfo :/
consegui fazer a variavel $msg funcionar com session , ficou perfeito , agora falta o arquivo deletar , do arquivo salvar fica facil criar o update mas o del nao tenho a minima ideia de como deletar do banco e do diretorio , isso eu nunca fiz , alguem pode me ajudar por favor ?
Para deletar o arquivo do diretório use no PHP unlink('Aqui passa o endereço onde encontra a imagem');
Para deletar o arquivo do diretório use no PHP unlink('Aqui passa o endereço onde encontra a imagem');
cesar , eu nao tenho muita experiencia com isso pode me dar uma ajuda com o codigo ??
<?php
include "conexao.php";
$mostraDados = mysqli_query($conecta, "SELECT * FROM arquivo WHERE codigo = 1") or die (mysqli_error());
unlink('img/');
?>
eu criei assim , mas n funcionou bem , como eu faço ?
por exemplo ai em cima quero deletar a imagem com o codigo 1 , do banco ela desaparece mas da pasta n
unlink('caminho/para/a/imagem/e/o/nome/dela.jpg');
Você deve passar TODO o caminho da imagem, incluindo o nome dela.
>
unlink('caminho/para/a/imagem/e/o/nome/dela.jpg');
Você deve passar TODO o caminho da imagem, incluindo o nome dela.
<?php
include "conexao.php";
$query1 = mysqli_query($conecta,"SELECT * FROM arquivo WHERE codigo = 10")or die (mysqli_error());
while($data=mysqli_fetch_array($query1))
{
$delete=$data['file'];
unlink("img/$delete");
}
$query = mysqli_query($conecta,"DELETE FROM arquivo WHERE codigo = 11")or die (mysqli_error());
if($result==TRUE)
{
$_SESSION['msg'] = "deletado";
header("Location:index.php");
exit;
}
else
{
$_SESSION['msg'] = "nao deleto";
header("Location:index.php");
exit;
}
?>
criei esse codigo mas quando chega na parte de apagar o diretorio , mostra acesso negado , alguem sabe resolver ?
Você deu as devidas permissões na pasta?
A pasta e o seu conteúdo precisam ter permissões de gravação, edição e exclusão.
Você passou o endereço certo aonde encontra a sua imagem e não deletou?
testa colocar manual pra fazer um teste.
unlink('caminho/imagem.png');
Essa sua váriavel retorna o endereço correto?
$delete=$data['file'];
unlink("aqui tenta colocar a url toda da sua aplicação/img/$delete");Boa tarde amigos!!!
Aproveitando o tópico, estou com problema para buscar as imagens no banco. Tenho um página chamada estadios_getdata.php onde tenho o SELECT dos dados, tenho também uma página chamada estadios_datatable_consulta.php que mostra as informações na tela, porém não consigo mostrar a imagem, quero colocá-la dentro de uma div, conforme abaixo:
<div class="figure_estadio">
<img src="./images/upload/estadios/<?php echo $imagem_nome ?>" />
</div>
O que estou fazendo de errado?
Desde já, obrigado pela atenção
Você testou o endereço da imagem e está correto? Se sim coloque na sua tag img style='width:100%;'
No lugar da imagem fica aquele ícone de que ali deveria ter uma imagem, se tento abrir a imagem em outra aba da o seguinte erro:
Not FoundThe requested URL /Scouts/images/upload/estadios/imagem/ was not found on this server.
Você só pode usa-la em longblob?
Não rolaria pegar guardar o nome dela em string apenas?