Si, è corretta perchè le modifiche le ho fatte per facilitare il passaggio, in realtà lo script per creare la cartella l'avevo anche tolto, di conseguenza avevo messo la cartella prova come fissa per metterci dentro l'immagine, La prima carte fino al "do {" la puoi anche levare, l'ho messa per farti vedere quelo che dovrebbe avvenire, visto che la cartella la crea sempre è esatto. Inoltre se alla fine del ciclo provi a fare "echo $foto;" mi esce il valore 0, che esce quando il campo viene considerato nullo; quindi ne deduco che il problema dovrebbe essere questo:
Codice PHP:
do { if (is_uploaded_file($_FILES['image']['tmp_name'])) { 
questa condizione non si verifica mai, infatti se alla fine provi a mettere:
Codice PHP:
} else{echo 'errore';

ti uscirà sempre la scritta errore.
Fammi sapere se capisci il perchè.