Força downloads de arquivos em PHP
Pesquisando achei esse script que força a baixar qualquer tipo de arquivo.
Crie uma arquivo baixar.php copie o código abaixo.
<?php $arquivo = $_GET["arquivo"]; if(isset($arquivo) && file_exists($arquivo)){ // faz o teste se a variavel não esta vazia e se o arquivo realmente existe switch(strtolower(substr(strrchr(basename($arquivo),"."),1))){ // verifica a extensão do arquivo para pegar o tipo case "pdf": $tipo="application/pdf"; break; case "exe": $tipo="application/octet-stream"; break; case "zip": $tipo="application/zip"; break; case "doc": $tipo="application/msword"; break; case "xls": $tipo="application/vnd.ms-excel"; break; case "ppt": $tipo="application/vnd.ms-powerpoint"; break; case "gif": $tipo="image/gif"; break; case "png": $tipo="image/png"; break; case "jpg": $tipo="image/jpg"; break; case "mp3": $tipo="audio/mpeg"; break; case "php": // deixar vazio por seurança case "htm": // deixar vazio por seurança case "html": // deixar vazio por seurança } header("Content-Type: ".$tipo); // informa o tipo do arquivo ao navegador header("Content-Length: ".filesize($arquivo)); // informa o tamanho do arquivo ao navegador header("Content-Disposition: attachment; filename=".basename($arquivo)); // informa ao navegador que é tipo anexo e faz abrir a janela de download, tambem informa o nome do arquivo readfile($arquivo); // lê o arquivo exit; // aborta pós-ações } ?>
Agora crie o HTML index.php e coloque o código abaixo.
<!-- Este será o link que apontará para o nosso script PHP. Use no href "baixar.php?arquivo=" + caminho de seu arquivo; No Exemplo abaixo utilizei uma imagem com o nome "imagem.jpg" que esta dentro da pasta "arquivos". --> <a href="baixar.php?arquivo=arquivos/imagem.jpg">Baixar Arquivo</a>
Agora abra o arquivo index.php e clique no link “Baixar Arquivo”.
Fonte: http://www.devmedia.com.br/forcar-download-de-arquivos-com-php/17097