Copiar o mover las imágenes de un servidor externo

En este artículo vamos a ver una función realizada con PHP que nos va a permitir copiar o mover las imágenes de un servidor ajeno o externo a nuestro servidor.

Esta función puede ser empleada en muchos caso pero, en uno muy práctico y donde me he visto en la necesidad de utilizarlo es al querer pasar todo el contenido de un Oscommerce a un Prestashop. Imáginate la situación, como lo harías sin pagar un servicio existente donde se encarguen de todo?

function captureImage($origin, $destination) { 
    $mi_curl = curl_init ($origin); 
    $fp_destination = fopen ($destination, "w"); 
    curl_setopt ($mi_curl, CURLOPT_FILE, $fp_destination); 
    curl_setopt ($mi_curl, CURLOPT_HEADER, 0); 
    curl_exec ($mi_curl); 
    curl_close ($mi_curl); 
    fclose ($fp_destination); 
}

La función recibe 2 parámetros de entrada: la url del archivo de origen y la url del archivo de destino. Su función es coger el archivo de origen y copiarlo a la url de destino.

En el caso que comentábamos antes, podemos crear un script recorriendo todos los productos de un Oscommerce para capturar de la base de datos la imagen asociada al producto y dentro de esta iteración llamar a esta función:

captureImage($url_img_osc, $url_destino_ps);

Como por ejemplo:

captureImage('http://www.domain_osc.com/images/'.$row['products_image'], $_SERVER['DOCUMENT_ROOT']."/shop/images/image.jpg");

 

Autor
Escrito por Jose Aguilar - Director ejecutivo y tecnológico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.
Te ha servido? Valora esta entrada!
(4 votos, promedio: 4 de 5)
Comparte en las redes sociales
¿Buscas trabajo de programador?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Ver más sobre