Sto utilizzando del codice che mi permette d'inserire file binari all'interno di un db.
Ho un problema : se selezione dei file di testo l'inserimento avviene correttatmente, invece se provo ad inserire delle foto l'inserimento non avviene.
Dove sbaglio?
Di seguito riporto il codice che utilizzo. Grazie in anticipo per un eventuale aiuto.
<?php
if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
if($_POST["invia"] and $_FILES["file_binario"]["tmp_name"]!=null ) {
// CONNESSIONE AL MYSQL
$db = mysql_connect("localhost", "root", "");
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
else {echo 'Connesso con successo';}
// SELEZIONE DATABASE
if(!mysql_select_db("file_binari", $db))
{die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");}
else {echo 'Connesso con successo';}
// MEMORIZZIAMO NELLA VARIABILE $data IL CONTENUTO DEL FILE
$data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));
// ESEGUIAMO LA QUERY DI INSERIMENTO
$result = @mysql_query("INSERT INTO file_binari (Descrizione, DatiBinari, Nome, Size, Type)
VALUES ('" . $_POST["Descrizione"] . "','$data','" . $_FILES["file_binario"]["name"] . "',
'" . $_FILES["file_binario"]["size"] . "','" . $_FILES["file_binario"]["type"] . "')")
or die("Query di inserimento fallita !");
// ESITO POSITIVO
echo "Il file " . basename($_FILES["file_binario"]["name"]) . " è stato correttamente inserito nel Database.";
// CHIUDIAMO LA CONNESSIONE A MYSQL
mysql_close();
}
else
{
echo "Il file non è stato correttamente inserito nel form.";
}
?>