Como Forçar downloads de arquivos
Postado em 12 de January de 2009
Parte de meu tempo, por esses dias, tem sido em tentar colocar um blog de papéis de parede na internet. Mas havia um problema: Gostaria que, ao clicar no link da imagem, os browsers não abrissem uma nova janela, mas sim, fizesse automaticamente o download da imagem em questão.
Este é um problema comum, sobretudo para imagem, mas que não deixa de ser para arquivos do word ou PDFs também. Assim sendo, passei um bom tempo procurando uma solução para o problema. A primeira delas, plugins para WordPress. Achei três soluções possíveis, nenhuma delas me deixou satisfeito:
- Um Plugin chamado iMP download, citado no Weblogs Tools Collection – infelizmente, a página oficial está desativada por falta de pagamento!,
- O Plugin Drain Hole, que não consegui configurar;
- E o Download Manager, que parece não forçar o download, mas é bem interessante – como todo plugin por LesterChan.
O Plano B era procurar forçar download de arquivo por PHP ou Javascript. Outra vez sem sucesso. Nenhum dos códigos encontrados foi útil.
Enfim, somente encontrei uma solução satisfatória, depois de muito procurar via .htaccess. Na verdade, uma solução satisfatória e muito simples. Com um simples upload do arquivo .htaccess no diretório que contém as imagens (ou os arquivos) resolve o problema. Abaixo, o código:
Forçar download de arquivos – .htaccess
<IfModule mod_headers.c>
<FilesMatch “\.(jpg|jpeg|bmp|png)$”>
ForceType image/jpeg
Header set Content-Disposition attachment
</FilesMatch>
</IfModule>
Note que existe quatro extensões no código: jpg, jpeg, bmp e png. Estes são os principais tipos de arquivos que trabalharei, mas se você quiser forçar o downlaod de pdf, doc, ppt, pps, por exemplo, basta substituir ou inserir mais estas extensões de arquivos.
Categoria: Sites: Ferramentas e tags: Tags: .htaccess, Arquivos, Downlaod, Imagens, JavaScript, PHP, Plugins, WordPress.

Cara, sobre esse htaccess, você usou para download de arquvos jpeg… talvez a pergunta seja estúpida, mas você não corre risco que ele conflite na hora do site puxar jpegs para o seus site? Como por exemplo, planos de fundos ou mesmo fotos?
Abraço
Aproveitando a boa vontade. Como ficaria esse script para baixar musicas em mp3, para o navegador não abrir um player?
Caro Lucas,
Não tive problemas em exibir uma imagem que apareça imbuída em uma página. O htaccess apenas obrigará o download se o endereço direto for digitado.
Para fazer download de mp3, wma, mpeg, por exemplo, basta alterar as extensões dos arquivos neste mesmo padrão. Mas não sei se isso evitaria que o player toque automaticamente o arquivo. Creio que, uma janela de diálogo aparecerá perguntando qual ação o usuário deseja que seja tomada.
Até…!