Aqui você verá artigos sobre PHP
Moderador: web
por web Offline » Qua Mai 23, 2007 10:24 am
|
|
Esse script serve para abrir uma janela do navegador de download de determinado arquivo.
Você irá passar o arquivo a ser baixado como segue o exemplo: http://www.seusite.com/estearquivo.php? ... o.extensao
<?php // mantenha a / no final - ./ é relativo ao diretório atual $dir = './'; // diretório onde está o arquivo
$arquivo = $_GET['arquivo']; // arquivo passado pelo link $arq = $arquivo;
if($arq!="") {
function erro_JS($tex){ // retorno quando houver erro echo '<SCRIPT language="JavaScript"> window.alert('.$tex.'); </SCRIPT>'; exit(); }
function retorna_extensao($arq){ // função q pega a extensão do arquivo $arr = explode('.', $arq); $num = count($arr)-1; $ext = $arr[$num]; return $ext; } $ext = retorna_extensao($arq); switch($ext){ case "pdf": $var = "application/pdf"; break; case "exe": $var = "application/octet-stream"; break; case "zip": $var = "application/zip"; break; case "doc": $var = "application/msword"; break; case "xls": $var = "application/vnd.ms-excel"; break; case "ppt": $var = "application/vnd.ms-powerpoint"; break; case "gif": $var = "image/gif"; break; case "png": $var = "image/png"; break; case "jpeg": case "jpg": $var = "image/jpg"; break; default: $var = "application/force-download"; }
if(file_exists($dir.$arq)){ // adição do header para download header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); header("Content-Type: $var"); header("Content-Disposition: attachment; filename=\"".basename($dir.$arq)."\";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($dir.$arq)); readfile($dir.$arq); } else { erro_JS('Erro ao tentar fazer download de arquivo!'); } } ?>

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por web Offline » Qui Out 01, 2009 10:54 pm
O script acima tinha um erro, porque não permitia baixar arquivos de diretórios além do que o script está rodando, agora já está ok.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
Voltar para Artigos sobre PHP
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes