Primero coges el tmp_name y luego con move_uploades_files lo mueves a un directorio con el name. El tmp_name es la ruta y nombre del fichero temporal subido, que generalmente se guarda en /tmp o C:\Temp (*nix o Win respectivamente) y el name es el nombre del fichero (sin ruta) (o eso me explicaron a mi). Te pongo un ejemplo de cómo hago yo:
Código PHP:
Ver original$aleatorio=rand(0,999999); $uploadDir = '../upload/img/'.$aleatorio.'-';
$uploadFile = $uploadDir . $_FILES['imagen']['name'];
chmod($uploadFile, 0754);
$ruta="http://www.dominio.net/upload/img/".$aleatorio."-".$_FILES['imagen']['name'];