2013-03-07 68 views
-5

当我从服务器下载文件时,它不给予恢复支持。PHP下载恢复支持问题

下面是代码:

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); 
     } 
    } 
} 

有人能帮助我如何使这个代码简历可支持的。

在此先感谢。

+0

你真的认为全大写的标题是合适的吗?!除此之外,你真的需要缩进你的代码... – ThiefMaster 2013-03-07 16:34:58

+0

你需要处理Range头。除非你表明你试图解决问题,否则你在这里得不到多少帮助。 – datasage 2013-03-07 16:37:24

回答

1

自行添加简历支持相当复杂 - 您需要检查的Range头文件不仅支持简单的范围,而且还支持相当复杂的范围。

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

+0

感谢您的快速响应。我在IIS中托管此网站。 IIS在其他静态网站上提供简历支持,但不在此网站上。需要帮忙! – user2145137 2013-03-07 16:47:33