Descargar archivo desde URL usando PHP

En este artículo, veremos cómo descargar y guardar el archivo desde la URL en PHP, y también comprenderemos las diferentes formas de implementarlo a través de los ejemplos. Existen muchos enfoques para descargar un archivo desde una URL, algunos de ellos se analizan a continuación:

Uso de la función file_get_contents() : La función file_get_contents() se usa para leer un archivo en una string. Esta función utiliza técnicas de mapeo de memoria que son compatibles con el servidor y, por lo tanto, mejora el rendimiento, lo que la convierte en la forma preferida de leer el contenido de un archivo.

Sintaxis:

file_get_contents($path, $include_path, $context, 
                  $start, $max_length)

Ejemplo 1: Este ejemplo ilustra el uso de la función file_get_contents() para leer el archivo en una string.

PHP

<?php
  
    // Initialize a file URL to the variable
    $url = 
    'https://media.geeksforgeeks.org/wp-content/uploads/gfg-40.png';
      
    // Use basename() function to return the base name of file
    $file_name = basename($url);
      
    // Use file_get_contents() function to get the file
    // from url and use file_put_contents() function to
    // save the file by using base name
    if (file_put_contents($file_name, file_get_contents($url)))
    {
        echo "File downloaded successfully";
    }
    else
    {
        echo "File downloading failed.";
    }
?>

Producción:

Antes de ejecutar el programa: 

carpeta fuente php

Después de ejecutar el programa:

Archivo descargado después de una ejecución exitosa

Archivo de imagen descargado

Usando PHP Curl :  cURL significa ‘Cliente para URL’, originalmente con URL escrito en mayúsculas para que sea obvio que se trata de URL. Se pronuncia como ‘ver URL’. El proyecto cURL tiene dos productos libcurl y curl.

Pasos para descargar el archivo:  

  • Inicialice una URL de archivo en la variable.
  • Crear sesión cURL.
  • Declare una variable y almacene el nombre del directorio donde se guardará el archivo descargado.
  • Utilice la función basename() para devolver el nombre base del archivo si la ruta del archivo se proporciona como parámetro.
  • Guarde el archivo en la ubicación dada.
  • Abra la ubicación del archivo guardado en modo de string de escritura.
  • Configure la opción para la transferencia cURL.
  • Realice una sesión de cURL y cierre la sesión de cURL y libere todos los recursos.
  • Cierra el archivo.

Ejemplo: Este ejemplo ilustra el uso de PHP Curl para realizar requests HTTP en PHP, con el fin de descargar el archivo.

PHP

<?php
  // Initialize a file URL to the variable
  $url = 
  'https://media.geeksforgeeks.org/wp-content/uploads/gfg-40.png';
  
  // Initialize the cURL session
  $ch = curl_init($url);
  
  // Initialize directory name where
  // file will be save
  $dir = './';
  
  // Use basename() function to return
  // the base name of file
  $file_name = basename($url);
  
  // Save file into file location
  $save_file_loc = $dir . $file_name;
  
  // Open file
  $fp = fopen($save_file_loc, 'wb');
  
  // It set an option for a cURL transfer
  curl_setopt($ch, CURLOPT_FILE, $fp);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  
  // Perform a cURL session
  curl_exec($ch);
  
  // Closes a cURL session and frees all resources
  curl_close($ch);
  
  // Close file
  fclose($fp);
?>

Producción:

Antes de ejecutar el programa:

carpeta fuente php

Después de ejecutar el programa:

Archivo de imagen descargado

PHP es un lenguaje de secuencias de comandos del lado del servidor diseñado específicamente para el desarrollo web. Puede aprender PHP desde cero siguiendo este tutorial de PHP y ejemplos de PHP .

Publicación traducida automáticamente

Artículo escrito por SohomPramanick y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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