ob_start(); require_once "inc_configuracoes.php"; extract(recupera($_REQUEST)); parse_str(base64_decode($dados), $saida); $file = $saida['arquivo']; // pega o endereço do arquivo $nome = $saida['nome']; $pasta = $saida['pasta']; $formato = formato($file); if(!empty($nome)){ $nomedoarquivo = $nome.".".$formato; }else{ if(preg_match("/\//", $file)){ $explode = explode("/", $file); $conta = count($explode) - 1; $nomedoarquivo = $explode[$conta]; }else{ $nomedoarquivo = $file; } } //grava na tabela o nome do arquivo if(preg_match("/http|www/", $file)){ $arquivo = $file; }else{ $arquivo = explode("/", $file); $contaArquivo = count($arquivo) - 1; $arquivo = $arquivo[$contaArquivo]; } $session = session_id(); $ip = $_SERVER['REMOTE_ADDR']; $data = date("Y-m-d"); if(strstr($file, './') !== false || strstr($file, '../') !== false || preg_match("/\.php/", $file)) die('Operação não permitida.'); if(!isset($_REQUEST['url'])){ $file = $pasta."/".$file; if(file_exists($file)){ header('Content-type: application/save');//octet/stream header('Content-disposition: attachment; filename="'.$nomedoarquivo.'";'); header('Content-Length: '.filesize($file)); readfile($file); die(); }else{ die("Arquivo inexistente para download."); } }else{ header("Location: ".url($file)); }