Buongiono a tutti, è la prima volta che scrivo in questo forum (finora mi sono sempre bastate le utilissime guide di html.it) ma ho un problema che non riesco a risolvere e la documentazione php non mi chiarisce cosa fare:
Devo sostanzialmente creare una pagina php dove sia possibile caricare un file pdf in un database postgresql e un altra pagina dove sia possibile scaricare lo stesso file.
La tabella postgres è così definita
codice:
CREATE TABLE salute.prova2
(
id serial NOT NULL,
a bytea,
CONSTRAINT prova2_pkey PRIMARY KEY (id)
e la pagina dove è possibile fare l'upload è questa:
codice:
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
File to upload/store in database:<br>
<input type="file" name="form_data" size="40">
<input type="hidden" name="task" value ="uplImg"/>
<input type="hidden" name="task" value ="fileUpload"/>
<p><input type="submit" name="submit" value="submit">
</form>
<?php
if ($_POST[submit]=="submit"){
include_once('../funzioni.php');
ini_set('display_errors','Off');
$db=connection_pgsql() or die('Connessione al DBMS non riuscita');
$data = file_get_contents($_FILES['form_data']['tmp_name']);
$escaped = pg_escape_bytea($data);
$result = pg_prepare( "ins_pic",'INSERT INTO salute.prova2 (a) VALUES ($1)');
$result = pg_execute ("ins_pic",array('$escaped'));
}
?>
Il pdf in effetti viene caricato (in formato bytea) nella tabella postgresql.
Vorrei sapere ora come gestire il download della pdf appena caricato.
Se qualcuno riesce a darmi una mano lo ringrazio in anticipo
PS: non ho troppo ben capito i metodi php pg_lo_*, all'inizio pensavo di utilizzare questi ma poi ho trovato in un altro sito il pg_escape_bytea che funzionava.