No estabas creando bien el nombre del archivo final:
Código PHP:
// me verifica haya sido cargado el archivo
$ruta_destino = "../fotos/";
// Obtenemos solo el nombre del archivo, sin espacios ni rutas
$namefinal = trim(end(explode('/', str_replace("\\", '/', $_FILES['foto']['tmp_name']))));
// Quitamos la extension
list($namefinal, $extension) = explode('.', $namefinal);
// Quitamos espacios y convertimos a minusculas
$namefinal = strtolower(str_replace(' ', '-', $namefinal));
// Agregamos la extension .jpg
$uploadfile= $ruta_destino . $namefinal . '.jpg';
if(imagejpeg($muestra,$uploadfile,'100'))
Eso debiera funcionar, a menos que se me haya escapado algun parentesis... si tienes dudas sobre lo que hace cada cosa, pregunta, no solo copies y pegues.