Salve io ho un problema con la lettura delle img che inseriswco sul db, mi fa vedere solo l'icona dell'immagine e non l'immagine proprio
questo è il mio codice:
db:
CREATE TABLE tabella_file
(
id INT (10) NOT NULL auto_increment,
nome VARCHAR (255) default NULL,
tipo VARCHAR (128) default NULL,
dati BLOB,
PRIMARY KEY (id)
)
upload.htm dove mettere il form per l'upload
PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Carica file nel DB</title>
</head>
<body>
Seleziona un file da memorizzare nel database:</p>
<form name="upload" enctype="multipart/form-data" method="post" action="write_db.php">
<input type="file" name="file_inviato">
<input type="submit" name="invia" value="Invia file">
</p>
</form>
</body>
</html>
funzione per scrivere l'immagine caricata dal form sul database write_db.php
PHP:
// Connessione e selezione del database
mysql_connect("localhost", "root", "password")
or die("Connessione non riuscita: " . mysql_error());
if(!mysql_select_db("mio_db"))
die("Selezione database fallita!");
// 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 = 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 tabella_file SET
nome = '$nome_file_vero',
tipo = '$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!");
view.php che elenca tutti i file contenuti nella tabella.
PHP:
// Connessione e selezione del database
mysql_connect("localhost", "root", "password")
or die("Connessione non riuscita: " . mysql_error());
if(!mysql_select_db("mio_db"))
die("Selezione database fallita!");
// Query per ottenere l'elenco dei files
$query = "SELECT * FROM tabella_file";
$risultato = mysql_query($query)
or die("Query non valida: " . mysql_error());
// Se ci sono file nel DB
if(mysql_numrows($risultato))
{
// Estrazione dei risultati e stampa dei links
while ($tmp = mysql_fetch_array($risultato))
{
echo "
<a href=\"open.php?id=$tmp[id]\">$tmp[nome]</a></p>\n";
}
}
else
{
echo "
Nessun file presente nel database</p>";
}
open.php Per visualizzare il contenuto del file
PHP:
if($_GET['id'] == "")
header("Location: view.php");
// Connessione e selezione del database
mysql_connect("localhost", "root", "password")
or die("Connessione non riuscita: " . mysql_error());
if(!mysql_select_db("my_db"))
die("Selezione database fallita!");
// Query per recuperare il file
$query = "SELECT * FROM tabella_files WHERE id_file = " . $_GET["id"];
$risultato = mysql_query($query)
or die("Query non valida: " . mysql_error());
$tmp = mysql_fetch_array($risultato);
// Invio l'intestazione contenente il tipo MIME del file
header("Content-Type: " . $tmp["tipo"]);
// Invio il contenuto del file
echo $tmp["dati"];
a questo punto mi carico l'img sul database che la vede ma al momento della visione dell'img
sulla finestra, non si vede nulla for che l'iconcina standard delle img
non riesco a capire dv si trovi l'errore
aiutatemi plsss![]()
grazie