Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/05/2003, 22:44
fran86
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 7 meses
Puntos: 8
Esto generalmente se usa para hacer contadores y/o impedir que se usen gestores de descarga.

La forma mas común de hacerlo es:
Código PHP:
header("Location: ".$_GET["a"]);
// Porque se uso a=midownload.zip en la url 
La contra de esto es que si el cliente usa un gestor de descarga que monitorea las URLs de los navegadores (como Download Acelerator Plus), el archivo que baje va a ser inservible.
Para evitar esto debes hacer esto:
Código PHP:
$a $_GET["a"];
header("Last-Modified: " gmdate("D, d M Y H:i:s T"filemtime($a)));
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: ".mime_content_type($a));
header("Content-Disposition: attachment; filename=$a");
$fp fopen($a,'rb');
if ( !
$fp ) {
    echo 
"Error al abrir";
    exit();
}
if ( !
fpassthru($fp) ) {
    echo 
"Error al enviar";
    exit();
}
header("Connection: close");
exit(); 
Si no tenes la libreria Mimetype puedes borrar la linea que usa mime_content_type() o reemplazarla por header("Content-type: application/octet-stream");


Saludos!