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 
