En este post veremos las diferentes maneras de poder descargar un archivo desde un sitio web usando PHP así como también hablaremos acerca de las implementaciones necesarias para poder obtener este resultado.
Función file_get_contents():
La función file_get_contents() es usada para localizar un archivo, esta función usa técnicas de mapeo en la memoria que le dan soporte al servidor, de esta manera se obtiene un mejor desempeño en la manera que se lee el contenido del archivo.
Sintaxis:
file_get_contents($path, $include_path, $context, $start, $max_length)
Ejemplo:
En este ejemplo se muestra como se lee un archivo dentro de la función file_get_contents()
PHP cURL:
cURL significa dirección para el cliente URL, en inglés Client for URL´s, se usan mayúsculas en “URL” para hacer más significativo que es una función que usa direcciones URL, este tipo de proyectos usa dos productos “libcURL” y “cURL”.
Pasos para descargar un archivo:
Ejemplo:
En este ejemplo se muestra como se hacen solicitudes HTTP haciendo uso de PHP cURL y así poder descargar archivos.
// Se inicia declarando la dirección URL del archivo
$url = "https://atomic-webdesign.com/images/metaimg.jpg";
// Se declara la sesion cURL
$ch = curl_init($url);
// Se declara el nombre del directorio
// donde el archivo será guardado
$dir = "./";
// Se usa la función basename() para obtener
// el nombre base del archivo
$file_name = basename($url);
// Se guarda el archivo en la ubicación
$save_file_loc = $dir . $file_name;
// Se abre el archivo
$fp = fopen($save_file_loc, "wb");
// Se configura la opción cURL para poder transferir
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
// Se ejecuta la sesión cURL
curl_exec($ch);
// Se cierra la sesión cURL y se libera el contenido
curl_close($ch);
// Cierra el archivo
fclose($fp);
Es bueno recordar que PHP es un lenguaje de programación que se usa del lado del servidor, específicamente para el desarrollo web.