Tieni ti "do" questo script, tanto non mi serve più ho una classe nella mia applicazione per questo e penso che passerò a databse only quando prima.
Ovviamente devi cambiare il percorso file, c'è anche la gestione dei tipi di file consentiti e la massima dimensione , così come l'update in databese di nuove immagini e l'unlink della vecchia immagine del server..cioè è completo, un pò spaghettato ma funziona benissimo

Codice PHP:

function updatefoto(){
  
   
    
  
    
$rand uniqid (rand (0,100000));
    
    
$mail $_SESSION['mail'];
    
    
$varrayfile = array (
    
"image/gif",
    
    
"image/png",
    
    
"image/jpg",
    
    
"image/jpeg",
    
    
"image/bmp",
    
    
"image/jpd",
    
    
"image/ico"
    
    
);
    
//echo    var_dump (strtolower(($varrayfile[2])));
    
$maxfile_size_var 2500000;
    
$file_tmp_neme $_FILES['foto']['tmp_name'];
    
$file_real_name = ($_FILES['foto']['name'] . $rand $_SESSION['id']);
    
$file_type =  $_FILES['foto']['type'];
    
$maxfile_size_gett $_FILES['foto']['size'];
      if (
$file_tmp_neme == NULL){
          return 
true;
          
      }else{
        if (!@
in_array ($_FILES['foto']['type'], $varrayfile)) {
        echo 
"Questa non è un immagine";          
  
       }else{
   
     if (
$maxfile_size_gett $_FILES['foto']['size'] > $maxfile_size_var) {
         print 
"Scelgiere un file Max 2.5 Mb";
       
       
     
     }else{
      
      
opendir("images/avatar/");
      
$queryfordelete mysql_query ("
      select foto
      from utenti
      where 
      mail = '
$mail'
      "
);   
      
$read mysql_fetch_assoc ($queryfordelete);
       
$old_foto_ $read['foto'];
     
      
unlink ("images/avatar/".$old_foto_);
      
move_uploaded_file ($file_tmp_neme,"images/avatar/".$file_real_name.".png");
      
closedir ("images/avatar");
      
$query mysql_query("
      update utenti 
      set 
      foto 
      = '
$file_real_name.png'
      where mail = '
$mail'
      "
); 
      
$query_for_post_simple mysql_query ("
      update post set fotoid = '
$file_real_name.png'
      where mail = '
$mail'
      
      "
);
      
     }
        }
           }