tengo un pequeño problemilla que me esta volviendo loco,
les explico, quiero que el usuario al cargar una imagen esta se redimencione para que juege el papel de thumbnail, y la misma imagen que subio se redimencione a un tamaño maximo si es mas grande.. 
que estoy haciendo mal? D: 
 Código PHP:
   
                    <?php
                    $folder = "../../../galeria/blusas/";
                    $folder_mn = "../../../galeria/blusas/mn/";
                    $maxlimit = 5242880;
                    $allowed_ext = "jpg,gif,bmp,png,jpeg";
                    $overwrite = "no";
                    $match = ""; 
                    $filesize = $_FILES['userfile']['size'];
                    $caracteres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
                    $rango = 6;
                    $max=strlen($caracteres)-1;
                    for ($i=0;$i<$rango;$i++) {
                    $filenamerand .= substr($caracteres, rand(0, $max), 1);}
                    $filename = ($filenamerand).".".end(explode('.',$_FILES['userfile']['name']));
                    $filename_mn = ($filenamerand)."-mn".".".end(explode('.',$_FILES['userfile']['name']));
                    $error = "";
                    $original = $_FILES['userfile']['name'];
 
                    $global[0] = $_FILES['userfile']['tmp_name'];
                    $global[1] = $_FILES['userfile']['tmp_name'];
                    
                    $imagen = $global[0];    
                    $origen= $imagen;
                    $destino = $imagen;
                    $destino_temporal=tempnam("tmp/","tmp");
                    $maxsize[0] =640;
                    $maxsize[1] =480;
                    $size = GetImageSize($origen);
                               $width = $size[0];  
                               $height = $size[1];  
                    $ancho = $maxsize[0];
                    $alto  = $maxsize[1];
 
                    if ($ancho && ($size[0] < $size[1])) {
                        $ancho = ($alto / $size[1]) * $size[0];
                    } else {
                        $alto = ($ancho / $size[0]) * $size[1];
                    } 
 
                    redimensionar_jpeg($origen, $destino_temporal, $ancho, $alto, 100);
 
                    $fp=fopen($destino,"w");
                    fputs($fp,fread(fopen($destino_temporal,"r"),filesize($destino_temporal)));
                    fclose($fp);
 
                    function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
                    {
                        $img = ImageCreateFromJPEG($img_original);
                        $thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);
                        ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img));
                        ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
                        //ImageDestroy($img);
                    }
                    $imagen_mn = $global[1];    
                    $origen= $imagen_mn;
                    $destino = $imagen_mn;
                    $destino_temporal=tempnam("tmp/","tmp");
                    $maxsize[0] =200;
                    $maxsize[1] =200;
                    $size = GetImageSize($origen);
                               $width = $size[0];  
                               $height = $size[1];  
                    $ancho = $maxsize[0];
                    $alto  = $maxsize[1];
 
                    if ($ancho && ($size[0] < $size[1])) {
                        $ancho = ($alto / $size[1]) * $size[0];
                    } else {
                        $alto = ($ancho / $size[0]) * $size[1];
                    } 
 
                    redimensionarmn_jpeg($origen, $destino_temporal, $ancho, $alto, 100);
 
                    $fp=fopen($destino,"w");
                    fputs($fp,fread(fopen($destino_temporal,"r"),filesize($destino_temporal)));
                    fclose($fp);
 
                    function redimensionarmn_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
                    {
                        $img = ImageCreateFromJPEG($img_original);
                        $thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);
                        ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img));
                        ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
                        //ImageDestroy($img);
                    }
                    move_uploaded_file($imagen_mn, $folder_mn.$filename_mn);
                    
                    if(!$filename || $filename==""){ 
                       $error = "- Ningún archivo selecccionado para subir.<br>";
                    }elseif(file_exists($folder.$filename) && $overwrite=="no"){
                       $error = "- El archivo <b>$filename</b> ya existe<br>";
                    }
 
                    if($filesize < 1){ 
                       $error .= "- Archivo vacío.<br>";
                    }elseif($filesize > $maxlimit){ 
                       $error .= "- Este archivo supera el máximo tamaño permitido.<br>";
                    }
 
                    $array_ext = explode (';',$allowed_ext);
                    $ext = strstr($filename['name'],'.');
                    $ext=substr($ext,1);
                        if (!in_array($ext,$array_ext)) {
                            $match = 1;
                    }
 
                    if(!$match){
                       $error .= "- Este tipo de archivo no está permitido: $filename<br>";
                    }
                    
                    if($error){
                       print "Se ha producido el siguiente error al subir el archivo:<br> $error";
                    }else{
                       if(move_uploaded_file($imagen, $folder.$filename)){ 
                    mysql_connect('localhost','root','') or die('<b>Error conectando al servidor MySQL:</b><br />'.mysql_error());
                    mysql_select_db('cherry') or die('<b>Error seleccionando la base de datos:</b><br />'.mysql_error()); 
                    mysql_query("INSERT INTO blusas (id, imagen, nombre) VALUES ('', 'http://127.0.0.1/cherry Remodelacion/galeria/blusas/$filename', '$original')");
                    
                        echo 'Se subio bien ';
                        echo $filename;
                          }else{
                          print " Error"; 
                       }
                       }
                       ?>    
  Saludos
