por que mejor al subir un archivo le creas un round(); o numero aleatorio y le añades la extencion y listo... te evitas problemas que te metan caracteres especiales y demas.-....
hay muchas funciones que te dan numeros o codigos aleatorios....
saludos