<form enctype="multipart/form-data" action="" method="POST">
<input type="text" name="nombres">
<input type="file" name="imagen">
<input type="submit" value="Enviar">
</form>
<?php
// Datos
$nombres = $_POST['nombres'];
$imagen = $_FILES['imagen'];
// Reemplazamos espacios por _ y agregamos numeros aleatorios por si hay dos usuarios con el mismo nombre y apellido.
$newNombreIMG = str_replace(' ', '_', $nombres . '_' . rand(0, 1000));
// Extension
$extension = explode('/', $imagen['type']);
//
echo '<pre>';
if (move_uploaded_file($imagen['tmp_name'], $newNombreIMG . '.' . $extension[1])) {
echo "El fichero es válido y se subió con éxito.\n";
} else {
echo "¡Posible ataque de subida de ficheros!\n";
}
echo 'Más información de depuración:';
print_r($_FILES);
print "</pre>";
?>