no no, algo les sigue faltando...
Código PHP:
<?php
$data = file_get_contents('el/archivo.original'); // o los datos, pues...
$name = 'el-nombre.extension';
$mime = 'el/tipo-MIME';
// NOTEN las comillas dobles alrededor de filename="..."
header(sprintf('Content-Disposition: attachment; filename="%s"', $name));
header(sprintf('Content-Length: %d', strlen($data)));
header(sprintf('Content-Type: %s', $mime));
header('Content-Transfer-Encoding: binary');
header('Pragma: no-cache');
header('Expires: 0');
exit;
$
data debe ser el contenido del archivo a descargar, si dicho contenido es creado dinámicamente hay que hacerlo algo así...
Código PHP:
// por ejemplo, usando MySQL
$data = '';
while (/* ... */)
{
$data .= "columna,{$row->valor}\n";
// ...
}
NOTA que no debe existir nada antes del
<?php
espero quede claro, suerte!