Forçar download com PHP

Abaixo publiquei um de meus códigos construídos sobre o paradigma de programação orientada a objeto. Este código PHP é utilizado para forçar download de arquivos, simples e funcional pode ser facilmente implementado e melhorado, podendo ser adicionadas funcionalidades para realização de download quando o visitante clicar em determinado link.

download.php

<?php
/*
* Autor: Fábio Jânio
* Contato: fabiojanio@segurancadigital.info
* Licença: Liberdade total para modificar, utilizar e redistribuir! Favor citar a fonte.
*/
class extra{
    public function forca_download( $file ){
        if( !file_exists($file) ) return;
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
    }
}
?>

O código abaixo simplesmente realiza uma chamada ao arquivo download.php

index.php

<?php
/*
* Autor: Fábio Jânio
* Contato: fabiojanio@segurancadigital.info
* Licença: Liberdade total para modificar, utilizar e redistribuir! Favor citar a fonte.
*/
require_once('class_extra.php');
$teste = new extra;
$teste->forca_download("index.php");
?>

Na linha 4 ($teste->forca_download(“arquivo.zip”);) temos o trecho de código responsável por indicar qual arquivo será baixado. Basta no lugar de arquivo.zip indicar o caminho para o arquivo que deseja realizar download.