grazie sono riuscito a trovare!

sono andato a leggere gli errori di $_FILES e ho sostituito is_Upload_file() con
if($_FILES[$tmp]['error'] == UPLOAD_ERR_OK) che vuol dire se non ci sono errori

poi ho stampato $_FILES[$tmp]['error'] e ho visto che mi segnava 2 nei file che caricavo quindi eccedevo nel max_FILE_SIZE che ho scoperto essere settato da me nel campo hidden a 800 byte. e per quello che non funzionava! cmq grazie che senza la tua idea di fare il test non ci sarei mai arrivato!!!