ciao a tutti!

questo scriptino non mi salva il file dell'immagine che creo.

sapreste dirmi come mai?

codice:
  $gallery = $_POST['ngallery'];
  $uploaddir = 'gallery/images';
  $upload_dir1 = $uploaddir."_".$_POST["ngallery"]."/";
  $uploadfile1 = $upload_dir1 . $_FILES['userfile']['name'];
  $filename = $_FILES['userfile']['name'];

  if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile1)) {
   $mex = "The files have been successfully uploaded.";
  }
  else {
   print "<pre>";
   print "Possible file upload attack!  Here's some debugging info:\n";
   print_r($_FILES);
   print_r($_FILES['userfile']['error']);
   print "</pre>";
  }
 $url = $uploadfile;
 $im = getimagesize($url);
 if ($im[0] >= $im[1]) {
  $div = $im[0]/100;
 }
 else {
  $div = $im[1]/100;
 }
 $newwid = ceil($im[0]/$div);
 $newhei = ceil($im[1]/$div);

 $err = "";
 switch ($im[2]) {
  case 1:
   $oldim = imagecreatefromgif($url);
   break;
  case 2:
   $oldim = imagecreatefromjpeg($url);
   break;
  case 3:
   $oldim = imagecreatefrompng($url);
   break;
  default:
   $err = "We are sorry but this image format isn't valid. Only GIF, JPG, PNG are supported.";
 }

 $tdir = $upload_dir1."thumbs_".$gallery."/TN_".$filename;

 if ($err == "") {
  $newim = @imagecreatetruecolor($newwid,$newhei) or die("Cannot Initialize new GD image stream");
  imagecopyresized($newim,$oldim,0,0,0,0,$newwid,$newhei,$im[0],$im[1]);
  switch ($im[2]) {
   case 1:
    $oldim = imagecreatefromgif($url);
    header('Content-Type: image/gif');
    imagegif($newim,$tdir);
    break;
   case 2:
    $oldim = imagecreatefromjpeg($url);
    header('Content-Type: image/jpeg');
    imagejpeg($newim,$tdir,100);
    break;
   case 3:
    $oldim = imagecreatefrompng($url);
    header('Content-Type: image/png'); 
    imagepng($newim,$tdir);
    break;
  }
 }
 imagedestroy($newim);
 imagedestroy($oldim);
grazie