Criando um script para download de imagens


Autor/fonte: Leandro Maniezo
E-mail/Url: http://www.phpbrasil.com/articles/article.php/id/1175



Digg del.icio.us

Esse artigo é um simples script para download de imagem, normalmente colocamos a imagem zipada para disponibilizar o download. Com esse script a imagem é enviada como arquivo para a pessoa fazer download da imagem .JPG, .JPEG, .GIF ou qualquer outro tipo de arquivo.

Crie um arquivo que será a página dos downloads, por exemplo "arquivo.php" com o seguinte conteúdo:

<?php
// le o tamanho do arquivo em bytes
$tamanho = filesize("$arquivo");

// pega extensão do arquivo
$ext = explode (".",$arquivo);

// aqui bloqueia downloads indevido
if ($ext[1]=="php") {
    echo "Arquivo não autorizado para download!";
}

// envia todos cabecalhos HTTP para o browser (tipo, tamanho, etc..)
header("Content-Type: application/save"); 
header("Content-Length: $tamanho");
header("Content-Disposition: attachment; filename=$nome.$ext[1]"); 
header("Content-Transfer-Encoding: binary");

// nesse momento ele le o arquivo e envia
$fp = fopen("$arquivo", "r"); 
fpassthru($fp); 
fclose($fp);
?>

Seu script está pronto! Para usar basta usar um link, como por exemplo o seguinte:

<a href="arquivo.php?arquivo=bola.jpe&nome=img_bola">Download Imagem</a>

Note que ao criar o link passei dois parâmetros que são "arquivo" e "nome". arquivo é o no me do arquivo no meu exemplo "bola.jpg". Já o parâmento nome é o novo nome do arquivo que vai ser gravado na máquina da pessoa que estiver fazendo o download, no meu exemplo fico img_bola.jpg, não precisa passar a extensão pois ele cria sozinho.

Não se esqueça que no meu exemplo eu considerei que a imagem bola.jpg estava no mesmo diretório que o arquivo.php. Se as imagens estiverem num outro diretório você terá que passar as pastas e níveis juntos.

Por motivo de segurança é legal que naquele if que só bloquei arquivo .php você habilite só arquivo que usará, se seu sistema de download será so para .JPG crie um if != "jpg".

Um boa utilização desse script seria para download de imagens fechado (logado), mais utilizado para quem vende imagems por exemplo. Basta colocar em um diretório as imagens com permissão de leitura só para root, e assim passar o link como acima por algum ambiente logado.




Enviado por xKuRt em 26/12/2006 às 16:31


Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Quarta, 30 de Julho de 2014




Top 5 membros

Últimos membros online

  • 1em 30/07 às 07:33
  • xKuRtem 27/07 às 15:13
  • JCanecaem 26/07 às 19:02

Últimos membros cadastrados



Capa do livro
Metodologia de Pesquisa para Ciência da Computação


Capa do livro
Design Para a Internet


Capa do livro
Use a Cabeça! Servlets & JSP





Hostnet

IMD