Salve a tutti!,
Sto cercando di uplodare un file pdf su un db mysql ma non riesco a inviarlo correttamente mentre se lo carico dal db poi ho problemi nel visualizzarlo.
Indicazioni/suggerimenti?
questo è quello che ho sul db
id_articolo int/11 auto increment key
titoli text
abstract medium text
id_pdf int
pdf longblob
data date
questo è il form:
Codice PHP:
<form action="upload.php" method="post" enctype="multipart/form-data">ù
<TEXTAREA cols=50 name= "titoli" rows=2>
Qui va il titolo
</TEXTAREA>
<TEXTAREA cols=50 name= "abstract" rows=5>
Qui va l'abstarct
</TEXTAREA>
<input type="file" name="pdf">
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
<input type="text" name="data" /> gg/mm/aaaa
<input type="submit" name="invia" value="Invia dati"/></td>
</tr>
</table>
</form>
questo invece è il file upload:
Codice PHP:
<?php
if(isset($_SESSION['autorizza'])){
if(isset($_POST['invia'])){
$titoli=$_POST['titoli'];
$abstract=$_POST['abstract'];
$data=$_POST['data'];
function is_uploaded($postname) {
if (!isset ($_FILES[$postname]) || strcmp ($_FILES[$postname], "none") == 0 || $_FILES[$postname]['size'] < 1) return 0;
else return 1;
}
if (is_uploaded("pdf")) {
// MEMORIZZIAMO IL CONTENUTO DEL FILE
$nome_del_file = "";
//ESTRAZIONE..
$pdf = addslashes(fread(fopen($_FILES["file"]["tmp_name"], "rb"), $_FILES["file"]["size"]));
//IL FILE E' PRONTO PER IL MYSQL
// $pdf -> mysql
//USCENDO DAL MYSQL IL FILE SUBIRA' AUTOMATICAMENTE UNO STRIPSLASHES
//CHE QUINDI CON MYSQL NON SARA' NECESSARIO INSERIRE
$pdf = stripslashes($pdf); // mysql -> $pdf da mysql non necessario
// ESEGUIAMO LA QUERY DI INSERIMENTO
Header('Content-Type: application/pdf');
if(isset( $HTTP_SERVER_VARS['HTTP_USER_AGENT'] ) && strpos( $HTTP_SERVER_VARS['HTTP_USER_AGENT'], 'MSIE')) {
Header('Content-Type: application/force-download');
} else {
Header('Content-Type: application/octet-stream');
}
Header('Content-Length: '.strlen($pdf));
Header('Content-disposition: attachment; filename='.$nome_del_file);
echo $pdf;
exit();
}
include('connessione.php');
$query="INSERT INTO id_articolo (titoli,abstract,pdf,data) VALUES('$titoli','$abstract','$pdf','$data')";
if(mysql_query($query,$connection)){
}else{
echo "<span class=\"style1\">errore di inserimento!!!</span>";
}
echo "<span class=\"style1\">L'articolo è stato inserito correttamente</span>";
}
}else{
print "<span class=\"style1\">Per effettuare operazioni in questa sezione è necessario effettuare il login!
</span>";
print "<a href=\"index.php\">Torna indietro...</a>";
}
?>
mentre per visualizzarlo ho scritto cosi ma nulla:
Codice PHP:
echo"<td><a href=\"pdf-reader.php?id=id_pdf\">scarica pdf<a/></td>\n";
mi dice quando prova a scaricare il pdf mi manda a pagina insistente
AIUTI/CONSIGLI
grazie