Imaginate que tienes este formulario:
Código PHP:
<form method="post" action="<?=$PHP_SELF?>" enctype="multipart/form-data">
Fichero a enviar:
<br>
<input type="file" name="fichero">
<br>
<input type="text" name="nombre">
<br>
<input type="submit" name="enviar" value="Enviar">
<br>
<br>
</form>
Ese es el formulario, en el introduces el fichero a enviar y tambien el nombre.
Luego puedes referenciar la extensión del fichero subido
Código PHP:
$ext = (substr($_FILES['fichero']['name'],-3,3));
entonces subirías el archivo así;
Código PHP:
move_uploaded_file($_FILES[$key]["tmp_name"],$_POST['nombre'].".".$ext
Lo he resumido mucho, pero básicamente es eso
Veo que se me adelantó cluster, pero en fin, ya que empecé lo dejo :S