come avevo letto su varie fonti la funzione sovrascrive i file se già esistono, peccato però che se il nome del file è uguale ma diversa l'estensione, ne escono fuori due se poi è uguale il nome e anche l'estensione ma cambia la dimensione allora sono tre !!!!

es.
1° move_uploaded_file -> immagine.bmp 100 kbyte
2° move_uploaded_file -> immagine.jpg 200 kbyte
3° move_uploaded_file -> immagine.jpg 076 kbyre

secondo voi come evito la cosa ? conoscete una funzione in grado di rinominare i file "mossi" ?

questo è quanto:
//controlla l'invio di file
if (isset($_FILES['imm']['tmp_name']))
{
// attribuisce a $namefile il nome utente con cui il file poi verrà salvato
$namefile = $_SESSION["UTENTE"]; echo $_FILES['imm']['type'];
// attribuisce a $tmp il nome del file temporaneo caricato, a $DIR invece il percorso per il salvatqaggio delle immagini, $est corrisponde all'esensione del file

$tmp = $_FILES['imm']['tmp_name'];
$est= str_replace("image/","",$_FILES['imm']['type']); echo $est;
// controlla se il file inserito è di tipo immagine, se sì determina path salvataggio altrimenti notifica errore
if ($est == $_FILES['imm']['type']) { echo "Tipo di file non valido !!! Solo immagini !!!"; $DIR=""; } else $DIR = 'C:\\www\\vhosts\\localhost\\image\\'.$namefile.". ".$est;
// sposta il file temporaneo nella cartella definitiva

$flag = move_uploaded_file ($tmp, $DIR);
//if ($flag and $_FILES['imm']['error']==0 and $_FILES['imm']['size']<=235000)
}