¿Cómo iniciar automáticamente una descarga en PHP?

Esta publicación trata sobre la creación de un archivo de inicio de descarga usando PHP. La idea es hacer un botón de descarga que lo redirigirá a otra página con el script PHP que iniciará automáticamente la descarga.

Crear un botón de descarga:

<!DOCTYPE html>
<html>
  
<head>
    <meta name="viewport" content=
        "width=device-width, initial-scale=1">
    <style>
        .btn {
            background-color: limeGreen;
            border: none;
            color: white;
            padding: 12px 30px;
            cursor: pointer;
            font-size: 20px;
        }
  
        .btn:hover {
            background-color: green;
        }
    </style>
</head>
  
<body>
    <center>
        <p>Auto width:</p>
        <button class="btn">
            <i class="fa fa-download">Download</i>
        </button>
        <p>Full width:</p>
        <button class="btn" style="width:100%">
            <i class="fa fa-download">Download</i>
        </button>
    </center>
</body>
  
</html>

Producción:

Para redirigir a algún archivo que tenga el archivo a descargar, cree un formulario HTML como se muestra a continuación.

<form action="downloadFile.php" method="post">
 <input type="submit" name="submit" value="Download" />
</form>

Producción:

Código PHP para descargar: cuando el usuario hace clic en el botón de arriba, el código será redirigido al archivo “downloadFile.php”. Ahora, use la URL del archivo y la función PHP file_get_contents() para descargar el archivo.

<?php 
    
// Initialize a file URL to 
// the variable 
$url = 
'https://contribute.geeksforgeeks.org/wp-content/uploads/gfg-40.png'; 
    
// Use basename() function to 
// return the 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:
  • Después de ejecutar el programa:

Publicación traducida automáticamente

Artículo escrito por samrat2825 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 *