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.