Hoi,
via het volgende php scriptje, dat ik download.php heb gedoopt, probeer ik een file voor download aan te bieden. Dit scriptje start zodra iemand ergens op klikt en er opent zich dan een save-as window. Zoals wel te verwachten was reageert niet elke browser hetzelfde. IE users krijgen in plaats van $file als gesuggereerde filenaam 'download' te zien. Opera 6+ en Netscape 7 users zien 'download.php', dus de naam van het script. M.a.w. zo'n beetje elke browser (behalve nescape 4.7) negeert de regel header("Content-Disposition:attachment;filename=$file") en maakt er maar wat van.
<?
$file= getenv("QUERY_STRING");
$document_root=getenv("DOCUMENT_ROOT");
if($fp=fopen($document_root.$file,"r"))
{
// $size = filesize($fp);
header("Content-type:application/download");
header("Content-Disposition:attachment;filename=$file");
// header("Content-Length: $size");
header("Pragma: no-cache");
header("Expires: 0");
@fpassthru($fp);
}
else
{
echo $document_root . $file . "not found";
}
?>
De file size heb ik ff tot commentaar gemaakt want die zorgt ook voor ellende. Het lijkt wel of op de hele header conventie vreemd gereageerd wordt. Wie weet raad?
via het volgende php scriptje, dat ik download.php heb gedoopt, probeer ik een file voor download aan te bieden. Dit scriptje start zodra iemand ergens op klikt en er opent zich dan een save-as window. Zoals wel te verwachten was reageert niet elke browser hetzelfde. IE users krijgen in plaats van $file als gesuggereerde filenaam 'download' te zien. Opera 6+ en Netscape 7 users zien 'download.php', dus de naam van het script. M.a.w. zo'n beetje elke browser (behalve nescape 4.7) negeert de regel header("Content-Disposition:attachment;filename=$file") en maakt er maar wat van.
<?
$file= getenv("QUERY_STRING");
$document_root=getenv("DOCUMENT_ROOT");
if($fp=fopen($document_root.$file,"r"))
{
// $size = filesize($fp);
header("Content-type:application/download");
header("Content-Disposition:attachment;filename=$file");
// header("Content-Length: $size");
header("Pragma: no-cache");
header("Expires: 0");
@fpassthru($fp);
}
else
{
echo $document_root . $file . "not found";
}
?>
De file size heb ik ff tot commentaar gemaakt want die zorgt ook voor ellende. Het lijkt wel of op de hele header conventie vreemd gereageerd wordt. Wie weet raad?