Seria algo como:
Encontrar la extension
Usar alguna funcion que cree alguna cadena al azar
Agregarle la extension a la cadena.
Para encontrar la extension puedes usar
strpos() y para crear una cadena aleatoria, busca en el foro, hay varias.
Cuando uses el
copy o
move_uploaded_file entonces en el segundo parametro pones la cadena que creaste que consiste en los caracteres aleatorios + la extension.
Es MUY (Pero MUY, casi imposible) que se creen 2 archivos con la misma cadena si esta consiste en caracteres alfanumericos incluyendo mayusculas y minusculas, y de una buena longitud.
;)
Talvez esto te pueda ayudar a crear una cadena alfanumerica:
http://www.php.net/manual/es/function.uniqid.php