(30-09-2011 17:58)Bruno Bernardino Escreveu: [ -> ]Então a tua solução é exactamente a que indiquei em cima.
Usei o seguinte código encontrado na página que você passou:
<?php
$file = "download/1.0.zip";
$attachment_name = "versão_1.0_shaman_cms.zip";
$file_extension = strtolower(substr(strrchr($file,"."),1));
$ext = substr(strrchr($file,"."),1);
switch( $file_extension ) {
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "odt": $ctype="application/vnd.oasis.opendocument.text";break;
case "doc": $ctype="application/msword"; break;
case "ods": $ctype="application/vnd.oasis.opendocument.spreadsheet";break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "odp": $ctype="application/vnd.oasis.opendocument.presentation";break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "mp3": $ctype="audio/mpeg3";break;
case "wav": $ctype="audio/wav";break;
case "mpeg":
case "mpg": $ctype="video/mpeg";break;
case "avi": $ctype="video/avi";break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-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: ".$ctype."");
header("Content-Disposition: attachment; filename=\"".$attachment_name."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($file));
readfile($file);
exit();
echo '$attachment_name';
?>
OBS: adicionei: echo '$attachment_name'; pra começar o download quando carregar a página e coloquei o arquivo .htaccess dentro da pasta downloads, para negar o acesso aos arquivos se for acessado diretamente, configurado assim:
deny from all
IndexIgnore *
Obrigado.