Allora, un po' di cose:
Stampa $_FILES['foto']['type'] e vedi cosa diceCodice PHP:
//eregi è deprecarta, usa preg_match()
//cerchi pjpeg o jpeg come tipo di file, evidentemente risulta diverso
if(eregi('^image/p?jpeg(;.*)?$',$_FILES['foto']['type']))
{
$extension = '.jpg';
}
else
{
$extension = '.gif';
}
Se risulta diverso da jpeg o pjpeg il tuo codice dice di usare .gif come estensione ed è ovvio che il file non venga trovato.