php - 创建大型zip文件块服务器

时间:2017-05-24 10:33:27

标签: php file download zip large-files

我使用下面的代码来创建和下载大型zip文件。文件夹包含大量文件,大约20000到30000个文件。总文件大小平均为2GB。此代码适用于小文件,但如果是超过10000个文件的情况,则服务器会在几分钟内无响应。

<?php 

$folder= "../path/";

  header('Pragma: no-cache'); 
  header('Content-Description: File Download'); 
  header('Content-disposition: attachment; filename="myZip.zip"');
  header('Content-Type: application/octet-stream');
  header('Content-Transfer-Encoding: binary'); 

   chdir( $folder );

    $fp = popen('zip -r -0 - ' . $folder, 'r');

  while(!feof($fp)) {
      echo fread($fp, 8192);
  } 
  //Closing the stream
    pclose($fp);
?>

感谢。

0 个答案:

没有答案