Em 13 de junho de 2013 17:46, Heloisa Fernanda <[email protected]>escreveu:

> 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" );
>

http://br1.php.net/manual/en/function.fopen.php
fopen("/home/rasmus/file.gif", "wb"); -> fopen( "arquivo.tar.gz","wb" );

"b" de binary

Tente isso :)


> 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
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a