Plugin para imágenes – Subida automática a otro servidor

Inicio Foros WordPress Plugins Plugin para imágenes – Subida automática a otro servidor

Etiquetado: 

Este debate contiene 0 respuestas, tiene 1 mensaje y lo actualizó  atiquetedeveloper hace 6 años, 1 mes.

  • Autor
    Publicaciones
  • #63550

    atiquetedeveloper
    Participante

    Buenas.

    Tengo dos WordPress en dos máquinas diferentes por exigencia de un cliente, necesitaría que al subir la imágen a la instalación A, automáticamente la subiese al servidor de la instalación B.
    Queda descartada la opción de realizarlo vía FTP: ¿Se os ocurre alguna herramienta que realice este tipo de operación?

    Gracias.

  • #63615

    atiquetedeveloper
    Participante

    Por si alguien llega a este hilo con el mismo problema, esto es lo que he hecho:
    Server A: Controlar mediante hooks de WP la carga de imágenes y la creación de sus thumbnails y enviar una petición al Server B utilizando Curl:

    //Crea la imágen en el server B
    function uploadImagetoServer($attachment){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, array(‘file’ => ‘@’.$attachment[‘file’]));
    curl_setopt($ch, CURLOPT_URL, ‘http://SERVERB/uploadMedia.php’);
    curl_exec($ch);
    curl_close($ch);

    return $attachment;
    }

    //Crea el Thumbnail en el Server B
    function uploadThumbnail($metadata){
    $upload_dir = wp_upload_dir();
    foreach ($metadata[‘sizes’] as $mythumb){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, array(‘file’ => ‘@’.$upload_dir[‘path’].’/’.$mythumb[‘file’]));
    curl_setopt($ch, CURLOPT_URL, ‘http://SERVERB/uploadMedia.php’);
    curl_exec($ch);
    curl_close($ch);
    }
    }
    add_filter(‘wp_handle_upload’, ‘uploadImagetoServer’);
    add_filter(‘wp_generate_attachment_metadata’, ‘uploadThumbnail’);

  • #63616

    atiquetedeveloper
    Participante

    Por si alguien llega a este hilo con el mismo problema, finalmente lo he conseguido haciendo lo siguiente:

    – Server A: Controlar mediante hooks de WP la carga de imágenes y la creación de sus thumbnails y enviar una petición al Server B utilizando Curl:

    [code] ‘@’.$attachment[‘file’]));
    curl_setopt($ch, CURLOPT_URL, ‘http://SERVERB/uploadMedia.php’);
    curl_exec($ch);
    curl_close($ch);

    return $attachment;
    }

    // Envía una petición al server B que crea los thumbnails
    function uploadThumbnailstoServer($metadata){
    $upload_dir = wp_upload_dir();

    foreach ($metadata[‘sizes’] as $mythumb){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, array(‘file’ => ‘@’.$upload_dir[‘path’].’/’.$mythumb[‘file’]));
    curl_setopt($ch, CURLOPT_URL,’http://SERVERB/uploadMedia.php’);
    curl_exec($ch);
    curl_close($ch);
    }
    }

    // Hooks WordPress
    add_filter(‘wp_handle_upload’, ‘uploadImagetoServer’);
    add_filter(‘wp_generate_attachment_metadata’, ‘uploadThumbnailstoServer’);
    ?>[/code]

  • #63617

    atiquetedeveloper
    Participante

    '@'.$attachment['file']));
    curl_setopt($ch, CURLOPT_URL, 'http://SERVERB/uploadMedia.php');
    curl_exec($ch);
    curl_close($ch);

    return $attachment;
    }

    // Envía una petición al server B que crea los thumbnails
    function uploadThumbnailstoServer($metadata){
    $upload_dir = wp_upload_dir();

    foreach ($metadata['sizes'] as $mythumb){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => '@'.$upload_dir['path'].'/'.$mythumb['file']));
    curl_setopt($ch, CURLOPT_URL,'http://SERVERB/uploadMedia.php');
    curl_exec($ch);
    curl_close($ch);
    }
    }

    // Hooks WordPress
    add_filter('wp_handle_upload', 'uploadImagetoServer');
    add_filter('wp_generate_attachment_metadata', 'uploadThumbnailstoServer');
    ?>

El foro ‘Plugins’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest