скачать с сервера мою бинарную строку

iigor

Новичок
скачать с сервера мою бинарную строку

Здраствуйте.
Я пытаюсь скачать с сервера мою бинарную строку с поддержкой докачки дома пробую выходит на сервере только 200 ответ пишет. (а мне так нужен 206)

Формально мой код выгладит так:
<?php
$binarydata = pack("V", 0);//4 байта
$binarydata .= pack("V", 1);//4 байта
$binarydata .= 'Строка';
$binarydata .= pack("V", 2);//4 байта
$binarydata .= pack("V", 3);//4 байта
...
echo $binarydata; //отправим
?>

Побывал использовать ob_start() чтото мне не помогает.

Нашел пример кода вот он:

$headers = getallheaders();
$auth=$headers[authorization];
if ($auth=='') { $auth=$headers[Authorization]; }
if($auth=='')
{
Header("WWW-Authenticate: Basic realm=\"Это тебе не мелочь по карманам тырить\"");
Header("HTTP/1.0 401 Unauthorized");
}
list($user, $pass) = explode(":", base64_decode(substr($auth, 6)));

if ($user=="login" && $pass=="password") {

$fullPath = "c:/Mus/Rammstein/15-Mutter 2001/06-Mutter.mp3";
if ($fd = fopen ($fullPath, "rb")) {
$fsize =filesize($fullPath);
$fname = basename ($_SERVER['REQUEST_URI']);

if ($range = $headers['Range']) {
$range = (int) substr($range, 6);
fseek($fd, $range);
header("HTTP/1.1 206 Partial Content");
header("Accept-Ranges: bytes");
header("Content-Range: bytes $range-".($fsize-1)."/$fsize");
} else {
header("HTTP/1.0 200 OK");
}

header("Content-type: audio/mpeg");
header("Content-length: ".($fsize - (int)$range));
fpassthru($fd);
}
}
Его конечно можно использовать если знать размер $binarydata и как сикнуться в нужное место и отправить этот кусочек(как это сделать?). Может есть более элегантный вариант типа задать какуюто системную переменную чтоб она сама кешировала всё и отправляла этими самыми кусками...
 

Vladvic

Новичок
а в чём собственно проблема большая?
функцию substr еще никто не отменял
с бинарными строками в РНР можно работать точно так же как с обычными.
 

iigor

Новичок
Мне для формирования этой строки нужно достаточно много времени. Я так понимаю что если я буду использоват, кусок кода приведённый выше с substr этот запрос будет происходить несколько раз.

-~{}~ 04.03.06 22:21:

Пока нашол для себя решение это сохранять кучу таких строчек на диск. А потом перенаправлять на них запрос.
 
Сверху