// читаем файл в строку
if ($contents = file_get_contents($bild_filename))
{
// записываем в строку байты числа aff
for ($i = 0; $i < $aff_bytes; $i++)
{
$contents[$aff_offset + $i] = chr($aff % 0x100);
$aff = floor($aff / 0x100);
}
// записываем в строку байты числа saff
for ($i = 0; $i < $saff_bytes; $i++)
{
$contents[$saff_offset + $i] = chr($saff % 0x100);
$saff = floor($saff / 0x100);
}
// читаем из строки версию билда
$curr_ver = 0;
for ($i = $ver_bytes - 1; $i >= 0; $i--)
{
$curr_ver += ord($contents[$ver_offset + $i]);
$curr_ver *= pow(0x100, $i);
}
// если на сервере нет более новой версии, даем ошибку
if ($ver >= $curr_ver)
{
header('HTTP/1.0 404 Not Found');
}
else
{
// отправляем заголовки бинарного файла
header('Content-Type: application/octet-stream');
header('Content-Length: '. filesize($bild_filename));
echo $contents;
}
}