Saltar al contenido →

Descargar un archivo de sharedhosting a sharedhosting sin terminal

El otro día tenía la necesidad de transferir un archivo bastante pesado de un servidor a otro.
Esto es tarea simple si tuvieras acceso a la terminal, pero en este caso eran servidor compartidos (shared hosting) y carecían de terminal, por lo que tuve que ingeniármelas escribiendo un simple script en php:


<?php
// archivo donde va a descargar el contenido del otro archivo
$fp = fopen ('archivo_grande.zip', 'w+');
$url = "https://servidor.xyz/files/archivo_grande.zip";
// aumentamos el timeout de la función curl
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
// pasamos la variable del archivo a los parámetros de curl
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// ejecutamos curl es esperamos que se descargue
$data = curl_exec($ch);//get curl response
// cerramos curl y listo.
curl_close($ch);

Una vez hecho esto tendremos descargado el archivo archivo_grande.zip extraído del otro servidor.

Esto fue lo que se me ocurrió para evitar descargar el archivo a mi máquina y luego tenerlo que subir al otro servidor. Cuando hablamos de archivos de varios gigas se gana tiempo usando un script así de sencillo y dejamos la tarea a los dos servidores.

Publicado en Linux PHP