Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Forçar download em um único diretório


Read

Pergunta

Código usado

<?php
   $jdown = $_GET["jdown"];
   if(isset($jdown) && file_exists($jdown)){ 
     switch(strtolower(substr(strrchr(basename($jdown),"."),1))){ 
     case "jdc": $tipo="application/JDownloader"; break;
     }
     header("Content-Type: ".$tipo);
     $ARQUIVO = file($jdown);
     header("Content-Length: ".filesize($ARQUIVO));
     header("Content-Disposition: attachment; filename=".basename($jdown));
     readfile($jdown);
     exit;
   }
?>
Chamada
http://localhost/down/file.php?jdown=File.jdc
Nesse exemplo o link faz download do arquivo File.jdc q esta na mesma pasta do codigo ( /down/ ) o problema é q se for colocado .../configuration.php no link ele baixa o arquivo diretamente
http://localhost/down/file.php?jdown=.../configuration.php

quero saber como modificar o código para só baixar extenção jdc e somente se estiver na pasta local do file.php (/down/)

Editado por Read
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

minha solução

<?php 
    define('DIR_DOWNLOAD','../down/');
    $arquivo = $_GET['jdown'];
    if(stripos($arquivo, './') !== false || stripos($arquivo, '../') !== false || stripos($arquivo, '.php') !== false){
    die("<script>window.back();window.history.back();</script>");
    exit('Operação não Permitida');
    }
    $arquivo = DIR_DOWNLOAD.$arquivo;
    if(!file_exists($arquivo)){
die("<script>window.back();window.history.back();</script>");
    exit('Arquivo não Encontrado!');
    }    
    header('Content-type: octet/stream');
    header('Content-disposition: attachment; filename="'.basename($arquivo).'";');
    header('Content-Length: '.filesize($arquivo));
    readfile($arquivo);
    exit;
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...