¿Un número aleatorio? ¿Y qué pasa si dos usuarios quieren llamarlo foto.jpg y a los dos les sale el número 25? Es mucha casualidad, pero no se descarta... Puedes poner 2 números aleatorios seguidos, o 3, o 4.. cuantos más, menores serán las posibilidades.
Pero si no te importa que la carpeta tenga un nombre un poco más largo, puedes ahorrarte ese problema. El número puede ser una combinación de la fecha (año, mes, dia, hora, minuto, segundo) por lo que es imposible que coincida a no ser que lo suban en el mismo segundo y con el mismo nombre de archivo...
Código PHP:
$numero = date("Y").date("m").date("d").date("H").date("i").date("s");
move_uploaded_file($_FILES['fichero']['tmp_name'] , $_SERVER['DOCUMENT_ROOT'] .'/files/'.$numero.'/'. $_FILES['fichero']['name']);
La tercera opción sería usar un número autoincremental, para que el directorio sea 001, 002, 003, 004.. y así progresivamente.
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
Suerte