/*
Script de download de arquivos
Criado por BOZO (Leonardo Giori)
Leonardo@giori.com.br , bozo@gambiarra.com.br
www.gambiarra.com.br
Sistema que força o download de arquivos no diretório atual
Não é o ideal de sistema de downloads, mas serve de quebra-galho e para estudo
Adicionado paginação e opção de Ver ou Fazer Download
Qualquer problema no script entre em contato, ou modifique como quiser...
*/
//Reupera nome do arquivo
$file = base64_decode($_GET["file"]);
//Configurações
$n_arquivos = 10;
//Recupera numero para paginação
if(!isset($_GET["num"])){
$num = 0;
}else{
$num = $_GET["num"];
}
//Verifica se arquivo está no diretório atual, se não não faz o download
if(strstr($file, "/")){
$file = NULL;
}
//Verifica se arquivo foi setado na URL
if(isset($file)){
//Verifica se arquivo existe
if(file_exists("$file")){
//Se arquivo existir, força o download
header("Content-disposition: filename=" . ereg_replace(" ","_",$file));
header("Content-type: unknown/unknown");
readfile($file);
//Se colocado o nome de um arquivo não existente no diretório, na url, dá mensagem de erro
}else{
echo "";
}
}
//Esse script funciona somente com arquivos do diretório atual, o que pode ser mudado...
$dh = opendir(($dir = './'));
//Loop colocando arquivos no array
while(false!==($filename=readdir($dh))){
if(is_file("$dir$filename") && !($filename=='.' OR $filename=='..' OR $filename=='downloads.php')){
$arquivos[] = $filename;
}
}
//loop para printar arquivos
for($count=$num;$count<=$num+$n_arquivos;$count++){
if($arquivos[$count]!=""){
echo "$arquivos[$count] - Abrir | Download
";
}
}
if($num>=$n_arquivos){
$antes = $num - $n_arquivos - 1;
echo "Anterior";
}else{
echo "Anterior";
}
echo " || ";
if($arquivos[$count+1]!=""){
echo "