end() es el ultimo elemento de una matriz, en este caso, la generada por explode.
Te explico rapidamente:
- El nombre completo es: C:\WINDOWS\Temp\php2974.tmp
- Con str_replace modificamos a : C:/WINDOWS/Temp/php2974.tmp
----- El paso anterior es para que funcione tanto en windows como en linux
- Con explode lo convertimos en una matriz: ('C:', 'WINDOWS', 'Temp', 'php2974.tmp')
- Con end obtenemos el ultimo elemento: php2974.tmp
- En las lineas siguientes solo lo preparamos para que quede el nombre de archivo destino correcto:
../fotos/php2974.jpg
Y con eso se debe solucionar tu problema
Edito:
Lo siento, lo correcto es asi:
Código PHP:
// me verifica haya sido cargado el archivo
$ruta_destino = "../fotos/";
// Obtenemos el nombre original del archivo
// Quitamos espacios y convertimos a minusculas
$namefinal = strtolower(str_replace(' ', '-', $_FILES['foto']['name']));
// Agregamos la extension .jpg
$uploadfile= $ruta_destino . $namefinal . '.jpg';
if(imagejpeg($muestra,$uploadfile,'100'))