Salve a tutti.
Sto caricando dei documenti su un database mysql attraverso un form. Quando però li vado a recuperare, non vengono tutti visualizzati correttamente.
I file txt e pdf vengono recuperati bene, mentre le immagini e i .doc no.
Per quanto riguarda i .doc mi si apre una finestra per la conversione, ma qualsiasi opzione scelgo, il fle non viene caricato correttamente.
Il linguaggio dinamico di programmazione è il Php, il database è il Mysql.
Ho creato la tabella:
Per l'inserimento del file ho utilizzato:codice:CREATE TABLE tabella_file ( id_relazione INT (10) NOT NULL auto_increment, Nome VARCHAR (255) default NULL, Tipo VARCHAR (128) default NULL, Dati BLOB, PRIMARY KEY (id_relazione ) )
Per il recupero invece:codice:$error = $_FILES["file_inviato"]["error"]; echo " Error->" .$error ; // Verifico eventuali problemi nell'upload del file if((!isset($_FILES["file_inviato"])) || ($_FILES["file_inviato"]["error"] != UPLOAD_ERR_OK)) { echo "Errore nell'invio del file. Riprova!"; echo UPLOAD_ERR_OK; exit; } /* Connessione e selezione del database */ $db = new MysqlClass(); $db->connetti(); // Recupero delle informazioni sul file inviato $nome_file_temporaneo = $_FILES["file_inviato"]["tmp_name"]; $nome_file_vero = $_FILES["file_inviato"]["name"]; $tipo_file = $_FILES["file_inviato"]["type"]; // Leggo il contenuto del file $dati_file = base64_encode(file_get_contents($nome_file_temporaneo)); // Preparo il contenuto del file per la query sql $dati_file = addslashes($dati_file); // Query per inserire il file nel DB $query = "INSERT INTO calciatori.relazioni SET Nome = '$nome_file_vero', Tipo = '$tipo_file', Anagrafica_id = '$tipo_file', Dati = '$dati_file'"; mysql_query($query) or die("Query non valida: " . mysql_error()); // Messaggio di successo echo "Memorizzazione del file $nome_file_vero nel database eseguita correttamente!";
codice:/* Connessione e selezione del database */ $db = new MysqlClass(); $db->connetti(); if($_GET['id'] == "") header("Location: view.php"); // Query per recuperare il file $query = "SELECT * FROM calciatori.relazioni WHERE id_relazione = ". $_GET['id']; $risultato = mysql_query($query) or die(" Query non valida: " . mysql_error()); $tmp = mysql_fetch_array($risultato); echo "Tipo --> " .$tmp['Tipo']; //exit; // Invio l'intestazione contenente il tipo MIME del file header("Content-Type: " .$tmp["Tipo"]); header("Content-Disposition: attachment; Filename=" .$tmp["Nome"]); // Invio il contenuto del file echo base64_decode($tmp["Dati"]); $db->disconnetti();

					
					
					
						
  Rispondi quotando