Lo que menciona
HackmanC es correcto, de hecho, yo también lo hago de esa forma, aunque todo el proceso lo hago del lado del servidor pues es más seguro.
Lo de los caracteres 'raros', no debería de ser una preocupación, en especial si sigues decides cambiar el nombre al momento de guardarlo.
Con lo que sí debes de tener cuidado es con que no
enmascaren un archivo no permitido (por ejemplo, un script malicioso) como un archivo PDF o de otro tipo. Para esto, te recomiendo leer acerca de las funciones de
Fileinfo.
Saludos