salve a tutti devo inserire un'immagine nel campo blob di un db mysql, e non mi interessa mettere solo url e poi richiamarla, ma inserire l'immagine vera e propria.
Ho provato a scrivere questo script ma non funziona il caricamento.
Codice PHP:
$user = isset($_POST['user_name']) ? $_POST['user_name'] : '';
$pass = isset($_POST['password']) ? $_POST['password'] : '';
$pass_1 = isset($_POST['password_1']) ? $_POST['password_1'] : '';
$mail = isset($_POST['mail']) ? $_POST['mail'] : '';

if (
$user == '' || ($pass != $pass_1)) // usa empty
{
  echo 
"User Name o Password sbagliate";
  exit;
}

    
// L'upload del file è riuscito ??
    
if ($_FILES['avatar']['error'] == UPLOAD_ERROR_OK)
    {
      
$ext strtolower(pathinfo($_FILES['avatar']['name'], PATHINFO_EXTENSION));  // cattura l'estensione del file caricato
      
      
switch($ext)
      {
        case 
'jpg' : case 'jpeg' $typefile 'image/jpeg'; break;
        case 
'gif' $typefile 'image/gif'; break;
        case 
'png' $typefile 'image/png'; break;
        case 
'bmp' $typefile 'image/bmp'; break;
        default : throw new 
InvalidFileTypeException($ext);
      }
      
      
$file fopen($_FILES['avatar']['tmp_name'], "r");
      
      if ( 
$file === NULL )
      {
        throw new 
FileAccessException();
        exit;
      }
      
      
$filesize filesize($_FILES['avatar']['tmp_name']);
      
$filedata addslashes(fread($file$filesize));
      
fclose($file);
      
      if (
intval($_FILES['avatar']['size']) > 50000000)
      {
        
// throw new FileTooBigException();
        
echo "Il file è troppo grande";
        exit;
      }
    }else
    {
      throw new 
FileUploadException($_FILES['avatar']['error']);
    }

// Inizia l'upload nel Database
$conn = new mysqli("localhost""root""jpt""vit");

if(
mysqli_connect_errno() != 0)
{
  
$message mysqli_connect_errno();
              
  echo 
"

Errore di connessione al database : errore numero 
$message</p>";
  exit;
}

$conn->query("SET NAMES 'utf8'");
        

$password md5($pass);

$insert = <<<TESTO
INSERT INTO user (nick_name, password, e_mail, avatar) 
VALUES ('
$user', '$password', '$mail', '$filedata')
TESTO;

$result $conn->query($insert);

if(
$result === FALSE)
{
  echo 
"Errore nella query di upload";
  
$conn->close();
  exit;
}
echo 
"
Query riuscita"
;
echo 
"[url='index.php']Torna alla home page[/url]";
?>