Originariamente inviato da Andrea1979
lascia il resto dello script in quel modo, per il momento... se il problema è quello che penso io, magari te la cavi con un semplice

move_uploaded_file
lettura ed inserimento dal nuovo percorso
unlink
ok...quindi tu dici di:
case 'INSERTNEW':

inserire qui il il move_uploaded_file


#echo $_FILES['img']['tmp_name'];
if ($_FILES['img']['tmp_name']!="none" AND $_FILES['img']['tmp_name']!=NULL){
$hndl=fopen($_FILES['img']['tmp_name'],"rb");
$isize=($_FILES['img']['size']);
$imgtype=$_FILES['img']['type'];
$imgdata="";
while(!feof($hndl)){
$imgdata.=base64_encode(fread($hndl,$isize));
}
}
if (insert_famiglia($_POST, $imgdata, $imgtype)){
header ("Location: famiglie.php?");
#echo "ciccia";
}else{
debug("ERROR updating data...");
}
break;

leggo su php.net:
bool move_uploaded_file ( string filename, string destination )
Questa funzione verifica che il file indicato da filename è un file validamente caricato (nel senso che è stato caricato attraverso il meccanismo di caricamento HTTP POST di PHP). Se il file è valido, verrà spostato nel file dato da destination.

Se filename non è un file validamente caricato, allora non verrà compiuta alcuna azione e move_uploaded_file() restituirà FALSE.

Se filename è un file validamente caricato, ma non può essere mossi per qualche ragione, non verrà compiuto alcunchè e move_uploaded_file() restituirà FALSE. In più verrà visualizzato un avviso di pericolo.

Questo tipo di verifica è particolarmente importante se sussiste la possibilità che qualcosa fatto con i file caricati possa rivelare il loro contenuto agli utenti o ad altri utenti dello stesso sistema.
quello che mi domando io è (a parte sapere se il move:uploaded_file va effettivamente lì dove l'ho segnato):
string_destination??
qual'è? la cartelletta temp?