[ RRadovan @ 25.11.2002. 11:15 ] @
Hi

Prvo, izvinjavam se ako je ovo pitanje vec bilo, ali ne mogu to da znam kad nema pretrage foruma.

Evo imam problema sa downloadom fajla sa moje stranice.
imam download.php koji generise fajl na osnovu parametara koje dobije, cita iz sql baze i tako to.
<?
if (isset($dload))
{
if ($dload=="cdrs")
{
$filename="./dload_files/test.txt";
$fp=fopen($filename,"w");
$fputs($fp,"test file\n");
fclose($fp);
// fajl se krerira u datom diru
}
$len=filesize($filename);
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
header("Content-type: application/download");
header("Content-Length: $len");
header("Content-Disposition: attachment; filename=\"$filename\"");
$fp=fopen($filename, "r");
fpassthru($fp);
readfile($filename);
exit;
}
?>
Dobijem save as dialog box, ali u filename polju pise 'download' bez ekstenzije. a treba 'test.txt'
Kako ovo popraviti? Cuo sam da je to neki bug u IE u vezi content-disposition.

Radovan
[ RRadovan @ 25.11.2002. 13:38 ] @
Odgovor (poslije mnogo googlanja)

$len=filesize($filename);

$file=basename($filename);
$size = filesize($filename);
header("Content-Type: application/octet-stream");
header("Content-Type: application/force-download");
header("Content-Length: $len");
if (preg_match("/MSIE 5.5/", $HTTP_USER_AGENT))
header("Content-Disposition: filename=$file");
else
header("Content-Disposition: attachment;filename=$file");
header("Content-Transfer-Encoding: binary");
$fp = fopen($filename, "r");
fpassthru($fp);

Radovan
[ Ni ten ichi ryu @ 25.11.2002. 23:34 ] @
Radovane, link za pretragu se nalazi ispod logo-a/banera, i piše pretraga :)
[ Dejan Topalovic @ 26.11.2002. 02:54 ] @
Ovo se mnogima dogadja i bilo bi pozeljno da moderator stavi ovo u FAQ.