Search the Community
Showing results for tags 'bytea'.
Found 2 results
-
Boa tarde à todos. Estou fazendo um sistema bem simples para um cliente. Basicamente ele quer cadastrar algumas informações sobre veículos (marca, modelo, cor e etc) e anexar alguns arquivos pdf ao registro. Até aí tudo bem, já consegui fazer. O que não estou conseguindo - e aí vai a ajuda de vocês: preciso exibir os dados cadastrados do veículo, após busca pela placa e buscar esses arquivos pdf cadastrados num campo bytea do postegre e quando clicar no link (nome do arquivo - ex: contrato.pdf) tem que aparecer num iframe logo abaixo. O grande problema é que não sei como recuperar o arquivo do campo bytea, até sei por download, mas não é o caso. Resumindo: o cliente busca o veículo pela placa, são exibidos modelo, marca, cor, ano e etc. Logo abaixo deve aparecer os arquivos cadastrados: contrato.pdf recibo de venda.pdf laudo.pdf e por aí vai. Esses arquivos estão num campo bytea do postgre e quando eu clicar nesses links, deve buscá-los no banco e fazê-los aparecer no iframe; fazer aparecer no iframe eu consigo tendo o arquivo em uma pasta, mas não sei como fazer buscando o banco. Bom, acho que é isso amigo. Agradeço muito e qualquer ajuda é bem vinda. Abraço. PS.: Não quero salvar os pdfs em pastas, queria no banco mesmo.
-
Senhores, boa noite. Estou iniciando na linguagem PHP. Preciso desenvolver uma pequena aplicação que guarde no banco de dados PostgreSQL arquivos em PDF. Depois da inserção, realizar a consulta. Informações: 1. O Campo que receberá o arquivo PDF no Postgresql tem que ser do tipo Bytea; 2. Meu sistema operacional é Windows 10; 3. Meu PostgreSQl é o 9.6, pgadmin 4; 4. Como servidor, utilizo o WampServer; e 5. A inserção até funciona, pelo menos quando consulto no Postgres aparece o nome do arquivo na base de dados, mas para realmente saber se ele está lá, preciso consultá-lo, mas não consigo fazer a consulta. ATENÇÃO: SEI QUE NÃO É A MELHOR PRÁTICA, SALVAR ARQUIVOS NO BD, QUE O MELHOR A FAZER ERA SALVAR O CAMINHO E GUARDAR OS ARQUIVOS EM DIRETÓRIOS, PORÉM O SISTEMA NÃO É GIGANTE E OS ARQUIVOS SÃO PEQUENOS, POR ISSO, NÃO TEREI PROBLEMAS COM DESEMPENHO ENTRE OUTROS, PORTANTO, NÃO PRECISEM RESPONDER APENAS QUE NÃO É BOA PRÁTICA RS. Seguem meus códigos: Tenho no Banco de Dados a seguinte estrutura: (É apenas um ambiente de testes, os campos reais serão diferentes) BD_Revista Tabela tb102_documento colunas: documentoid serial revistaid integer codsecao character(2) documento bytea formulario.html <HTML> <HEAD> <TITLE>Formulário de Cadastro</TITLE> </HEAD> <BODY> <center> <form name = "frmCadastro" method="POST" action = "cadastrar.php"> Documento:<input type="text" size="20" name = "documentoid"><BR> Revista: <input type="text" size="20" name = "revistaid"><BR> Codigo da Seção:<input type="text" size="20" name = "codsecao"><BR> Documento: <input type="file" name = "documento"><BR> <input type="submit" value="Gravar"> </form> <center> </BODY> </HTML> cadastrar.php <?php //Verifica se existe o arquivo executa.php para poder incluí-lo if (file_exists("executa.php")){ include("executa.php"); } if (!file_exists("executa.php")){ $msgErro = "<center><font color='#FF0000'><b>"; $msgErro .= "Não será possível executar nenhuma ação no Banco de Dados!<br>"; $msgErro .= "Porque não existe o arquivo 'executa.php'."; $msgErro .= "</b></font></center>"; echo "<br><br>"; echo $msgErro; echo "<br>"; exit; } //recebendo os dados do formulário $documentoid = $_POST['documentoid']; $revistaid = $_POST['revistaid']; $codsecao = $_POST['codsecao']; $documento = $_POST['documento']; //if ($revistaid == ""){ // echo "<center>O codigo id da revista deve ser informado!</center>"; // echo "<center><input type = 'button' value = 'Voltar' name = 'btnVoltar' Onclick = 'javascript:history.go(-1)'></center>"; //} //if ($nroano == ""){ // echo "<center>O ano deve ser informado!</center>"; // echo "<center><input type = 'button' value = 'Voltar' name = 'btnVoltar' Onclick = 'javascript:history.go(-1)'></center>"; //} //Montando a String de SQL $Sql = "Insert into tb102_documento(documentoid, revistaid, codsecao, documento) values('$documentoid', '$revistaid', '$codsecao', '$documento')"; //Chamando a função, e passando como parâmetro a String de SQL $Resultado = executa($Sql); if ($Resultado){ echo "<center>Cadastro efetuado com sucesso!</center>"; echo "<center><input type = 'button' value = 'Voltar' name = 'btnVoltar' Onclick = 'javascript:history.go(-1)'></center>"; } ?> executa.php <?php function executa($Sql){ //Testando se existe o arquivo if (file_exists("conecta.php")){ include("conecta.php"); } if (!file_exists("conecta.php")){ $msgErro = "<center><font color='#FF0000'><b>"; $msgErro .= "Não foi possível conectar ao banco de Dados<br>"; $msgErro .= "Porque não existe o arquivo 'conecta.php'."; $msgErro .= "</b></font></center>"; echo "<br><br>"; echo $msgErro; exit; } $Resultado = pg_query($conectabd,$Sql); pg_close($conectabd); return $Resultado; } ?> conecta.php <?php $conectabd = pg_connect("dbname = BD_Revista port = 5432 host = localhost user = postgres password = 159-*/rpg"); if ($conectabd) { //Caso queira Imprimir na Tela a mensagem, retirar o comentário echo "Conectado com: " . pg_host($conectabd) . "<br/> "; } else { echo pg_last_error($conectabd); exit; } ?> formconsulta.html <HTML> <HEAD> <TITLE>Formulário de Cadastro</TITLE> </HEAD> <BODY> <center> <form name = "frmConsulta" method="POST" action = "consultar.php"> Documento:<input type="text" size="20" name = "documentoid"><BR> Revista: <input type="text" size="20" name = "revistaid"><BR> Codigo da Seção:<input type="text" size="20" name = "codsecao"><BR> Documento: <input type="text" name = "documento"><BR> <input type="submit" value="Pesquisar"> </form> <center> </BODY> </HTML> consultar.php -> este arquivo está errado, preciso de uma LUZ exatamente na parte da consulta <?php $varSQL = "select documentoid, revistaid, codsecao, documento from tb102_documento"; $varConexao = pg_connect("dbname = BD_Revista port = 5432 host = localhost user = postgres password = 159-*/rpg"); $varResultado = pg_query($varConexao,$varSQL); // $varObjeto = pg_fetch_object ($varResultado,0); if ( $varResultado ) { while ( $varLinha = pg_fetch_array($varResultado) ) { $varConteudo = base64_decode("'".$varLinha[1]."'"); $varArquivo = fopen($varLinha[0],"w"); fwrite($varArquivo,$varConteudo); fclose($varArquivo); echo " <tr> " . " <td width='50%'>" . $varLinha[0] . "</td>" . " <td width='50%'><img src='" . $varLinha[0] ."'></td>" . " </tr> "; } } else { //echo "Erro na leitura<br>"; } ?> Desde já eu agradeço a colaboração de todos...
-
- postgresql
-
(and 2 more)
Tagged with: