Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

ProgramadoraR

Meter pdf em base dados

Mensagens Recomendadas

ProgramadoraR

Boas, como é que eu faço para inserir um pdf em base dados???

O meu objectivo é ter os pdf's para as pessoas consultarem mas depois tenho uma parte para a administração em que é para alterar os pdf's, ou seja actualiza-los... isto é apagar os que tao la e meter novos

Desde já, muito obrigada

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Virneto

Talvez...

Colocas os ficheiros pdf numa pasta. Na base de dados colocas o caminho para cada pdf.

Quanto às alterações, podes simplesmente substituir um ficheiro por outro e manter o mesmo nome ou então, alteras o ficheiro e atualizas o caminho/nome.pdf na base de dados.


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lordfokas

Podes servir qualquer tipo de ficheiros a partir da base de dados, e não apenas texto.

Precisas de um campo do tipo binário. Se é VAR ou de tamanho estático, isso já depende do que precisas. Se não me engano, BLOB também deve servir.

Podes preencher o campo com um formulário, a partir da superglobal $_FILES.

Para servir o ficheiro, tens de informar o cliente que o Mime Type é 'application/pdf', escrever os dados directamente no pacote HTML e terminar a execução ali (se escreveres mais coisas, o ficheiro sai corrompido).

Um exemplo:

# Executar a Query
$result = $mysqliobj->query("SELECT PDF_Data FROM tabela_pdfs WHERE ID='1'");

# Recolher uma linha da base de dados
# (Neste caso só pedimos uma)
$row = $result->fetch_object();

# Informar o browser que o mime type é application/pdf
header("Content-Type: application/pdf");

# Escrever os dados (binarios) do pdf no pacote HTTP
echo $row->PDF_Data;

# Remover o objecto da query da memoria.
$result->close();

# Terminar a execução
exit(0);

Este código foi escrito de cabeça, por isso podem haver erros ou inconsistências...

Mas no geral deve funcionar sem problemas. Corrijam-me se estiver errado.

Editado por lordfokas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.