Il codice (sia lato html, sia PHP) è obsoleto.
In ogni caso,
Codice PHP:
if( (isset($_FILES['FOTO']['tmp_name']) && ($_FILES['FOTO']['tmp_name'] != "")))
ricordati che hai più file, quindi io controllerei dentro il ciclo (nel tuo caso while) se ogni foto è "settata", e il nome non vuoto: invece di $_FILES['FOTO']['tmp_name'] penso che sia $_FILES['FOTO'][$files]['tmp_name']
Inoltre:
Codice PHP:
while($_FILES['FOTO']['$ifiles'])
Codice PHP:
$EXT = findexts($_FILES['FOTO']['name']['$ifiles']);
Codice PHP:
move_uploaded_file($_FILES['FOTO']['tmp_name']['$ifiles'], "../images/$UPLOAD");
Il valore $files non viene sostituito con il valore contenuto, perché hai usato i singoli apici. Lo avrebbe sostituito invece se tu avessi usato i doppi apici, quindi del tipo:
Codice PHP:
while($_FILES['FOTO']["$ifiles"])
...etc per gli altri
Anche se sarebbe meglio non mettere nessun apice, visto che è una singola variabile.
Comunque, anche qui penso che l'indice del file sia prima di [tmp_name], quindi $_FILES['FOTO'][$files][...]
Invece, sono corretti:
Codice PHP:
"../images/$UPLOAD"
Codice PHP:
"INSERT INTO Files (nome_file, visibile, slider, id_cartella_ext) VALUES ('$UPLOAD', '1', '0', '$CARTELLA')"
Perché lo hai messo tra i doppi apici, quindi le variabili vengono sostituite con i valori contenuti.
Ciao!