salve ragazzi,sono un nuovo utente, mi chiamo davide
avrei un file pdf caricato su un database con nomefile,tipo,size,dati(mediumblob).
adesso avrei bisogno di creare un link(o salvataggio o visualizzazione è uguale)
in realtà ho già creato qualcosa ma con scarsi risultati(scarica il file ma è impossibile aprirlo con acrobat reader probabilmente è stato decodificato male) e cercando su internet notavo che le soluzioni erano uguali o simili alle mie.
mi appello a qualcuno di voi per il codice o per una semplice spiegazione, scusate il disturbo e grazie in anticipo.
carico la funzione di upload che anche se è funzionante non so se è corretta :
ed ecco quella di download (non funzionante):
grazie in anticipo delle risposte.

adesso avrei bisogno di creare un link(o salvataggio o visualizzazione è uguale)
in realtà ho già creato qualcosa ma con scarsi risultati(scarica il file ma è impossibile aprirlo con acrobat reader probabilmente è stato decodificato male) e cercando su internet notavo che le soluzioni erano uguali o simili alle mie.
mi appello a qualcuno di voi per il codice o per una semplice spiegazione, scusate il disturbo e grazie in anticipo.
carico la funzione di upload che anche se è funzionante non so se è corretta :
PHP:
<?php
//creo la connessione
$link = mysql_connect('localhost','root','');
if (!$link) {
die('Non posso connettermi a MySQL: ' . mysql_error());
}
echo 'Connection OK';
//seleziono il database
mysql_select_db("archivio")
or die ("non trovo il DB");
//Acquisisco le informazioni del form
$nome = $_POST['nome'];
$codfisc = $_POST['codice'];
$cognome = $_POST['cognome'];
//variabili relative all'allegato
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
$allegato_size = $_FILES['allegato']['size'];
if (is_uploaded_file($allegato))
{
// Apro e leggo il file allegato
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
$data = addslashes($data);
fclose($file);
}
//creo query di inserimento
$inser= "INSERT INTO utenti
(nome,cognome,codfisc,nomef,tipo,size,dati)
VALUES
('$nome','$cognome','$codfisc','$allegato_name',
'$allegato_type','$allegato_size','$data')";
//inserisco nel db
$result = mysql_query($inser);
//controllo che sia andato a buonfine
if($result){
echo("<h1>Dati inseriti correttamente");
}
else{
echo("<h1>Errore inserimento dati");
}
mysql_close($link);
?>
ed ecco quella di download (non funzionante):
PHP:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="PHP Studio">
<title>untitled</title>
</head>
<body>
<?php
//creo la connesione
$link = mysql_connect('localhost','root','');
if (!$link) {
die('Non posso connettermi a MySQL: ' . mysql_error());
}
echo 'Connection OK';
//seleziono il database
mysql_select_db("archivio")
or die ("non trovo il DB");
$query = mysql_query("SELECT nomef, tipo, size, dati FROM utenti WHERE nomef = 'suca.pdf'");
$row = mysql_fetch_assoc($query);
$nome = $row["nomef"]; // nome del file da scaricare
$tipo= $row["tipo"]; // tipo file (es. application/pdf)
$size= $row["size"]; // dimensione del file in bytes
$bytes = $row["dati"]; // dati binari del file
mysql_close($link);
// scarichiamo il file
header('Content-Transfer-Encoding: binary');
header("Content-Length: $size");
header("Content-Type: $tipo");
header("Content-Disposition: inline; filename=$nome");
echo $bytes;
mysql_close($link);
?>
</body>
</html>
grazie in anticipo delle risposte.
Ultima modifica di un moderatore: