(Gracias Edwwinpaz, epro el server no usa PHP 5 sino 4.4, asi que no me servirá.)
 
Jcarrascal: algo no funciona porque no renombra el archivo creado. Por si el error estuviera fuera de la funcion, coloco lo que está en el script general y la funcion. Devuelve en pantalla que la imagen se creo con el nuevo nombre, pero la guarda con el nombre de origen, no con  el de $nombre generado:  
 Código PHP:
    $nombre=rand(1000000,9999999); //nombre al azar para renombrar la imagen.
 
$ruta = "../fotos_gr/".$_FILES['imagen']['name'];// ruta para subir la foto cruda 
 
        copy ($_FILES['imagen']['tmp_name'],$ruta); 
        
        /****************************************
                    funcion resize
        /****************************************/
                    
        function thumbjpeg($imagen,$altura,$nombre) {  
    global $nombre;
     // Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".  
     $dir_thumb = "";  
     // Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",  
     // el thumbnail se llamaría "tn_imagen1.jpg"  
     $prefijo_thumb = "tn_";  
 
     // Aquí tendremos el nombre de la imagen.  
     //$nombre=basename($imagen);  
     // Aquí la ruta especificada para buscar la imagen.  
     $camino=dirname($imagen)."/";  
 
     // Intentamos crear el directorio de thumbnails, si no existiera previamente.  
     if (!file_exists($camino.$dir_thumb))  
          @mkdir ($camino.$dir_thumb, 0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb);  
 
     // Aquí comprovamos que la imagen que queremos crear no exista previamente  
     if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {  
          echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existia<br>\n";  
          $img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");  
 
          // miramos el tamaño de la imagen original...  
          $datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");  
 
          // intentamos escalar la imagen original a la medida que nos interesa  
          $ratio = ($datos[1] / $altura);  
          $anchura = round($datos[0] / $ratio);  
 
          // esta será la nueva imagen reescalada  
          $thumb = imagecreatetruecolor($anchura,$altura);  
 
          // con esta función la reescalamos  
          imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);  
 
          // voilà la salvamos con el nombre y en el lugar que nos interesa.  
          imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);  
     }  
    }  
        /****************************************
                   FIN funcion 
        /****************************************/    
    
thumbjpeg($ruta, 200, $nombre);