Buongiorno a tutti, ho un problema in fase di estrazione file pdf da db.
Ho strutturato il form per l'upload del file nel db
codice:
<html>
<head>
<title>Registrazione polizza</title>
</head>
<body>
<h2>Aggiungi nuova polizza</h2>
<form enctype="multipart/form-data" method="post" action="polizzaupload.php" >
Identificativo Polizza:
<input type="text" name="idpolizza">
Numero polizza:
<input type="text" name="numeropolizza">
<input name="MAX_FILE_SIZE" type="hidden" value="10240000" />
File da caricare:
<input id="file" name="file" type="file" />
Compagnia:
<input type="text" name="compagnia">
Note:
<input type="text" name="note">
Identificativo cliente:
<input type="text" name="idcliente">
<input name="submit" type="submit" value="Carica" />
</form>
</body>
</html>
e successivamente la pagina php con lo script di estrazione e stampa per controllare la leggibilità del file pdf come segue nel codice:
Codice PHP:
<?php
//Connessione al Database
$conn= mysql_connect("localhost", "root", "") or die ("impossibile connettersi");
//selezione del DB
mysql_select_db("archiviottico", $conn) or die ("impossibile selezionare il db");
if (!is_uploaded_file($_FILES['file']['tmp_name'])) die ("Errore di caricamento: ".$_FILES["file"]["error"]);
$nome= $_FILES["file"]["name"];
$dimensione= $_FILES["file"]["size"];
if($dimensione<10240000){
if($dimensione<0){
echo "Codice Errore: " . $_FILES["file"]["error"]."";
}else{
$idpolizza= $_POST['idpolizza'];
$polizza= file_get_contents($_FILES['file']['tmp_name']);
$polizza_db = mysql_real_escape_string($polizza);
$numeropolizza= $_POST['numeropolizza'];
$compagnia= $_POST['compagnia'];
$note= $_POST['note'];
$idcliente= $_POST['idcliente'];
$query = "INSERT INTO polizza (idpolizza, nomepolizza, polizza, dimensione, numeropolizza, compagnia, note, idcliente) VALUES ('$idpolizza', '$nome', '$polizza_db', '$dimensione', '$numeropolizza', '$compagnia', '$note', '$idcliente')";
mysql_query($query) or die ("Query non valida: " . mysql_error());
header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=".$nome);
header("Content-Length: ".$dimensione);
echo $polizza_db;
}
}else{
echo "File troppo grande!!!";
}
?>
ma il file una volta salvato sul db( e vengono salvati tutti i dati compreso il pdf) quando tento di visualizzarlo adobe mi dice che il file poterbbe essere stato danneggiato e lo stesso succede anche se provo a scaricarlo e dopo aprirlo.
come posso risolvere questo problema?
grazie a tutti in anticipo