Publicidade   
 você está aqui: phpbrasil.com    artigos    artigo  
 
:: novos artigos ::

:: recomendado ::

PHP 4: Guia do Programador

Compre esse livro no Submarino.com.br

:: publicidade ::


:: novos scripts ::

:: elenco phpbrasil ::

phpman
Pontos: 2741

Visite a página de perfil de Eduardo Lundgren (braeker)Gravando Arquivos Binários no PostgreSQL
por Eduardo Lundgren (braeker)
Lista de Categorias  |  Contribua um Novo Artigo  |  Entre em Contato Conosco

O armazenamento de arquivos em banco de dados possui vantagens em relação à organização já que tudo estaria armazenado no banco. A integridade e segurança também estariam sendo garantidas pelo SGBD, porém existem as desvantagens. Confira neste artigo quando dou todos os detalhes de como gravar
Vote aqui!
Média de Votos Atual: 8.77
Total de Votos: 13
Nota:   

Como deletar o objeto?

O código comentado segue abaixo.


<?php
// Conectando ao Banco de Dados
$conexao pg_connect("host=localhost port=5432 user=postgres dbname=teste");

// Pegando informações sobre a imagem que foi salva no banco
// Esta consulta não retornará o dado binário da imagem 
// juntamente com outras informações da tabela, mas sim a 
// referencia (o identificador) do objeto. Imagine que o 
// código da imagem na tabela seja 7.
$consulta pg_query($conexao,"SELECT * FROM arquivo where codigo=7");
$resultado pg_fetch_array($consulta);

// Seta o identificador (oid) do objeto que veio do campo foto no banco.
$identificador $resultado["foto_oid"];

// Iniciando Transação para deletar o arquivo
pg_query($conexao"BEGIN");

// Quando você deletar o registro da tabela, se ela possuir 
// um campo oid o objeto relacionado a ela será apagado 
// simultaneamente, não precisando dar o pg_lo_unlink();

// Deletando registro da tabela
pg_query(“delete from arquivo where codigo=7”);

// Finalizando transação
pg_query($conexao"COMMIT");

// Fechando o objeto
pg_lo_close($objeto);

// Fechando conexão
pg_close();
?>


Obs: Caso você deseje apagar diretamente o objeto use o pg_lo_unlink(), porém se torna desnecessário porque ao apagar o registro da tabela o objeto também é apagado.

// Deletando objeto. Passe como parâmetro a conexão e o identificador (oid) do objeto:


<?php
pg_lo_unlink 
($conexao$identificador);
?>


Este é o primeiro artigo da minha vida e tentei ser o mais claro possível. Espero que tenham gostado! Qualquer duvida, chingamento ou sugestão enviem um comentário abaixo!

Abraços,
Eduardo Lundgren




<< Anterior 1 2 3 4 Próxima >>

 
Imprimir  |  Enviar para um Amigo


Comentários de Usuários

legal mas...
publicado por Olavo Alexandrino - 2005-08-29 19:03:39

é incrivel a facilidade de 'jogar' a imagem para o banco !!

porém utilizar essa estratégia para sites de fotos por exemplo é inviável ! será um puta de um processamento para visulizar essas fotos!

o servidor com certeza nao aguentara...outro problema é que o proprio banco fica pesado!

tive oportunidade de trabalhar num site desse estilo e tinhamos Gigabytes de imagem (em disco), eram milhares de albuns e fotos! imagine essas imagens todas em BD!

apenas em poucos casos é interessante guardar imagens no banco!

e outra, o servidor Linux com Apache tem muitos recursos de segurança que 'garatem' o acesso restrito a tais imagens em disco!

;)

Certo
publicado por drui - 2005-09-02 13:08:12

Guardar imagens realmente seria uma atitude ruim. BLOB CLOB costumam armazenar documentos do tipo "Microsoft Office" (word,powerpoint...)

Agora se o caso for guardar imagens, mais prático seria utilizar o banco para armazenar as pastas de cada usuário(não o conteúdo e sim o nome do folder) e utilizar o php para buscar e exibir as imagens desse folder.

Esqueci
publicado por drui - 2005-09-02 13:09:19

Poderia ainda utilizar o access do apache pra garantir segurança.

Apagando o arquivo
publicado por Tiago Jose Monteiro Bittencour - 2006-06-05 08:08:31

Olá cara ! mto bom seu artigo !

Tipo, esse "$objeto" que você está fechando, onde você esta instanciando ele ?

see ya

Copia
publicado por Tiago Jose Monteiro Bittencour - 2006-06-05 08:09:35

E outra coisa, a cópia do arquivo ta rolando
no entando na hora de visualizar a imagem está aparecendo bugada.

O que pode ser ?

see ya !

Publique os seus Comentários

Nome:
Email:
Título:
Comentário:

NOTA: Cadastre-se no site para poder publicar comentários.

 
webmaster: João Prado Maia   © 2000 - 2005 phpbrasil.com
Gerado em 2.074 segundos