Problema exibindo imagem do Bytea do PostGre com PHP

PostgreSQL

PHP

12/10/2025

Olá amigos. Estou há dias lutando para exibir uma foto de uma coluna BYTEA do PostGreSQL. O interessante é que peguei os códigos de um antigo site meu que funcionava perfeitamente. Tenho os seguintes códigos:
Arquivo exibe_imagem.php:
```
ob_start();
session_start();
require 'conexao/conexao.php';
$codigo = $_GET['id'];
$origem = $_GET['op'];
if ($origem == "F") {
$varSQL = "select foto from tab_usuario where id_usuario='$codigo'";
} else {
$varSQL = "select foto_capa from tab_usuario where id_usuario='$codigo'";
}
$varResultado = pg_query($conexao, $varSQL);
if ($origem == "F") {
$raw = pg_fetch_result($varResultado, 'foto');
} else {
$raw = pg_fetch_result($varResultado, 'foto_capa');
}
$tipo_imagem = exif_imagetype($raw);
if ($tipo_imagem = IMAGETYPE_JPEG) {
$tipo = "image/jpeg";
} elseif ($tipo_imagem = IMAGETYPE_PNG) {
$tipo = "image/png";
}
header('Content-type: '.$tipo);
echo pg_unescape_bytea($raw);
ob_end_clean();
```
Código HTML / PHP onde exibe a imagem:
<img src="exibe_imagem.php?id=<?php echo $id_usuario.'&op=F'; ?>" alt="Foto" height="150" class="foto" />

Já verifiquei as variáveis do meu PostGreSQL do Servidor e a variável output_bytea está "escape".
Agradeço qualquer ajuda, pois já corri a internet toda e encontrei muitas soluções, mas nenhuma funcionou. E, repito, esse código funcionava perfeitamente no outro site imprimindo VÁRIAS IMAGENS em uma mesma página PHP.
Ernesto Magalhães

Ernesto Magalhães

Curtidas 0
POSTAR