OK, entiendo.
 
Pero entonces ¿por qué usas rutas distintas aquí? 
 Código PHP:
    imagejpeg($imagennueva, $_SERVER['DOCUMENT_ROOT']."/".$directorio); 
    
  Ahí se nota claramente que no es la misma ruta que: 
 Código PHP:
    $subir_imagen = @move_uploaded_file($_FILES['imagen']['tmp_name'],$directorio."nueva_imagen.jpg"); 
    
  En una usas DOCUMENT_ROOT (la linea del error) y en la otra no (dices que ahí no da error).