Olá pessoal!

Estou tentando gravar e recuperar arquivos compactados ( tar.gz ) dentro do 
banco, mas estou tendo problemas.

Como estou inserindo no banco:

CREATE TABLE versao
( versao integer NOT NULL,
  arquivo bytea
) WITH ( OIDS=FALSE);


$arquivo = "/path/arquivo.tar.gz";

$arquivo = pg_escape_bytea(file_get_contents($arquivo));

$query = "INSERT INTO versao VALUES (123, '$arquivo')";


Como estou gerando o arquivo novamente:
$query = "SELECT arquivo FROM versao_aplicacao WHERE versao=123";

$dados  = pg_fetch_assoc(pg_query($conn,$query));
$conteudo    = pg_unescape_bytea( $dados['arquivo'] );
$criando        = fopen( "arquivo.tar.gz","w" );
fwrite( $criando, $conteudo );

fclose( $criando );

Quando tento abrir o arquivo: "O arquivo esta em formato desconhecido ou 
danificado"

Postgresql 9.1 - PHP 5.3

Tenho feito o mesmo com arquivos comuns (não compactados) e funciona direitinho.

Alguém sabe o que estou fazendo de errado?

Valeu pela ajuda!

Heloisa
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a