-5

当我从服务器下载文件时,它不提供恢复支持。

这是代码:

if ($zc['mm'] && $zc['mm_down'] && preg_match('/\.('.$zc['mm_ext'].')$/i', $path, $exts)) {
    $file = $zc['mp3_dir'].'/'.$path;
    if (file_exists($file)) {
        if ($zc['stream_int']) {
            $ext = strtolower($exts[1]);
            zina_set_header('Content-Type: '.$zc['mm_types'][$ext]['mime']);
            $disposition = (isset($zc['mm_types'][$ext]['disposition'])) ? $zc['mm_types'][$ext]['disposition'] : 'attachment';
            zina_set_header('Content-Disposition: '.$disposition.'; filename="'.basename($path).'"');
            zina_set_header('Content-Length: '.filesize($file));
            zina_set_header('Cache-control: public'); #IE seems to need this.
            zina_set_header("Content-Transfer-Encoding: binary\n"); 
            zina_set_header('Content-Type: $contentType');
            zina_send_file($file);
        }
        else {
            zina_goto($path,NULL,NULL,TRUE,TRUE);
        }
    }
}

任何人都可以帮助我如何使此代码恢复支持。

提前致谢。

4

1 回答 1

1

自己添加简历支持非常复杂 -Range您需要检查的标头不仅支持简单范围,还支持复杂范围。

唯一真正简单且干净的解决方案是使用诸如X-Sendfile标头之类的东西(Lighttpd 中的本机支持,可用于 Apache 的模块),它告诉您的 Web 服务器将某个文件发送给用户。在这种情况下,恢复、并行下载等将正常工作。

于 2013-03-07T16:38:35.547 回答