Rev 12 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
<?php
if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgeführt werden.');
$res = db_query("SELECT `daten`, `type`, `dateiname` FROM `".$mysql_zugangsdaten['praefix']."dateien` WHERE `id` = '".db_escape($id)."' AND `user` = '".$benutzer['id']."'");
if (db_num($res) == 0)
die($header.'<b>Fehler</b><br><br>Der Download wurde nicht gefunden.'.$footer);
$row = db_fetch($res);
// Abgeänderte Version von http://www.php.net/manual/de/function.fread.php (Benutzerkommentar)
$size = strlen($row['daten']);
$filename = $row['dateiname'];
$ctype = $row['type']; //application/force-download
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE"))
//if (!headers_sent()) header("Cache-Control:");
//if (!headers_sent()) header("Cache-Control: public");
if (isset($_SERVER['HTTP_RANGE']))
{
list($a, $range) = explode("=",$_SERVER['HTTP_RANGE']);
$size2=$size-1;
$new_length=$size2-$range;
}
else
{
$size2=$size-1;
}
$buffer = 1024*8;
while ($range <= $size)
{
print(substr($row['daten'], $range, $buffer)); // binary
$range += $buffer;
}
?>