Descargar archivos con PHP

Es fácil descargar un archivo PDF por medio de PHP se necesitan valores en HTML para linkear el archivo de descarga y PHP para ejecutar la acción de guardar:

La primera parte en HTML, un link para hacer la descarga:

<a href="http://sitioweb.com/descargar.php?archivo=http://url.de.archivo.pdf&amp;titulo=Titulo del Archivo">Descargar archivo</a>

Luego la parte de PHP, que se encargará de hacer el trabajo, el archivo descargar.php:

<?php
    $filename = $_GET['archivo'];
    $filetit = $_GET['titulo'];

    header("Content-Length: " . filesize($filename));
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.$filetit.'.pdf');

    readfile($filename);
?>

Otra opción para una descarga desde PHP, sería:

<?php
    $file = $_GET["archivo"];
    if (file_exists($file)) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename="'.basename($file).'"');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        readfile($file);
        exit;
    } else {
        // Nada u otra acción
    }

    echo $file;
?>
Scroll to Top