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");
Deja una respuesta