workerman作为http服务器,实现文件下载

凶狠的小白免

如果用fastcgi模式,php只需要关心输出内容即可
一边读取一边发送
//上面拼装range的代码就不贴了,

while (true)
{
    $range = array($i,$i + (10*1024));
    $ret = $client->getObject('/test.rar', $range);

    echo $ret;
    ob_flush();
    flush();
    $i = $i + (10*1024) + 1;
    $flag = $size - $i;

    if ($flag <= 0 )
    {
        break;
    }
}

在这种socket模式下,如何实现呢

3476 1 0
1个回答

walkor

//上面拼装range的代码就不贴了,
$buffer = '';
while (true)
{
$range = array($i,$i + (10*1024));
$ret = $client->getObject('/test.rar', $range);

    $buffer .= $ret;

    $i = $i + (10*1024) + 1;
    $flag = $size - $i;

    if ($flag <= 0 )
    {
        break;
    }
}

$connection->send($buffer);

  • 暂无评论
年代过于久远,无法发表回答
🔝