ho creato lo script per caricare delle img sul server

codice:
<?php
do {
  if (is_uploaded_file($_FILES['image']['tmp_name'])) {
    // Controllo che il file non superi i 18 KB
    /*if ($_FILES['image']['size'] > 18432) {
      $msg = "

Il file non deve superare i 18 KB!!</p>";
      break;
    }*/
    // Ottengo le informazioni sull'immagine
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 160x180
    /*if (($width > 160) || ($height > 180)) {
      $msg = "

Dimensioni non corrette!!</p>";
      break;
    }*/
    // Controllo che il file sia in uno dei formati GIF, JPG o PNG
    if (($type!=1) && ($type!=2) && ($type!=3)) {
      $msg = "

Formato non corretto!!</p>";
      break;
    }
    // Verifico che sul sul server non esista già un file con lo stesso nome
    // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
    if (file_exists('upload_img/'.$_FILES['image']['$nm'])) {
	  
      $msg = "

File già esistente sul server. Rinominarlo e riprovare.</p>";
      break;
    }
    // Sposto il file nella cartella da me desiderata
    if (!move_uploaded_file($_FILES['image']['tmp_name'], 'img/'.$_FILES['image']['name'])) {
      $msg = "

Errore nel caricamento dell'immagine!!</p>";
      break;
    }
  }
} while (false);
echo $msg;
?>
funziona...

il mio problema è che cosi facendo mi carica le imgs con il nome originale, mentre io vorrei un nome univoco.
come posso fare?

un'altra cosa: come possa caricare le img su una pagina attraverso php?
cioè dovrei entrare nella cartella e prendere un img per volta e "stamparla" all'interno della pagina...