【问题标题】:Compress the files while downloading by client客户端下载时压缩文件
【发布时间】:2016-05-08 10:55:13
【问题描述】:

我尝试开发类似 dropbox 的东西(非常基本的)。对于一个文件下载,这真的很容易。我想要的是:当客户问我大文件时,我在服务器端压缩文件然后发送给用户。但如果文件太大,则需要多次压缩并发送给用户。

有什么方法可以在压缩的同时发送文件吗?

感谢您的帮助。这是我的简单示例代码

<?php

function createzip($files, $zip_file) {
$zip = new ZipArchive;
if($zip->open($zip_file, ZipArchive::CREATE) === TRUE) {
foreach($files as $file){
$zip->addFile($file);
}
$zip->close();
return true;
 }
else return false;
 }
$ss=array("jj.mp4");
createzip($ss,'archiv.zip');
if(filesize("archiv.zip")>3000){
$vv=array("archiv.zip");
createzip($vv,"bbb.zip");
}

 ?>

在 if 语句中使用 do while 循环。直到文件大小成为所需值。我不明白如何使用 do while 循环并使它成为那种类型的压缩。请帮帮我。

【问题讨论】:

    标签: php zip http-compression


    【解决方案1】:

    我正在使用此代码进行压缩类型的数据库备份并自动下载。 您可以参考此代码

    <?php
    $DBUSER="username";
    $DBPASSWD="password";
    $DATABASE="dbname";
    $filename = "backup-" . date("d-m-Y") . ".sql.gz";
    $mime = "application/x-gzip";
    
    header( "Content-Type: " . $mime );
    header( 'Content-Disposition: attachment; filename="' . $filename . '"' );
    
    $cmd = "mysqldump -u $DBUSER --password=$DBPASSWD $DATABASE | gzip --best";
    passthru( $cmd );
    echo ('Backup Ok !');
    exit(0);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      • 2016-02-05
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      相关资源
      最近更新 更多