Gravando Arquivos Binários no PostgreSQL
Como deletar o objeto?
O código comentado segue abaixo.
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:
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
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
Olá cara ! mto bom seu artigo !
Tipo, esse "$objeto" que você está fechando, onde você esta instanciando ele ?
see ya
Tipo, esse "$objeto" que você está fechando, onde você esta instanciando ele ?
see ya
05/06/2006 8:08am
(~18 anos atrás)
Poderia ainda utilizar o access do apache pra garantir segurança.
02/09/2005 1:09pm
(~19 anos atrás)
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.
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.
02/09/2005 1:08pm
(~19 anos atrás)
é 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!
;)
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!
;)
29/08/2005 7:03pm
(~19 anos atrás)
no entando na hora de visualizar a imagem está aparecendo bugada.
O que pode ser ?
see ya !