para la segunda, prueba con la funcion is_file , ella busca si existe tal archivo. Entonces metes todo dentro de un while y pones un contador que te vaya modificando el nombre del archivo que quieres ubicar, y cuando deje de encontrar hace un copy del archivo cargado con el nombre nuevo que sacas de agregarle el valor del contador al nombre.
No se si esta claro. seria mas o menos asi (revisalo en todo caso, estoy suponiendo que la variable archivo nombre es un string),
Código:
$nombre = $archivo_nombre;
$aux = 0;
while ($aux2){
if(is_file($nombre)){
$aux++;
$nombre = ($nombre .= $aux);
}
else {
copy($archivo_nombre , $nombre);
//codigo para guardar el archivo llamado $nombre en el servidor
$aux2 = FALSE;
}
}
Te repito, revisalo, porque no lo he hecho, pero croe que por ahi va la cosa.