Hello,
ini_set('track_errors', 1);
if (!headers_sent())
{
ob_start();
if (false !== ($len == @readfile($file))) ## File in den neuen OB laden
{
## Nur bei Erfolg Header ausgeben
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . $len);
#> ob_end_clean();
ob_end_flush();
exit; ## alle anderen OBs werden geschlosen
## und weggeschmissen?
}
else
{
## ## Fehlerbehandlung, Ausgabe oder Logging...
## echo $php_errormsg; ## hierfür ist 'track_errors = 1' notwendig
##
}
#> ob_end_clean();
ob_end_flush();
}
*ups*. Der Buffer sollte ausgegeben und nicht weggeschmissen werden...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg