客户端下载时压缩文件
Compress the files while downloading by client
我尝试开发类似 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 循环以及它是否使它成为那种类型的压缩。请帮帮我。
我使用这样的方法,但如果您想检查并适应您的代码,我会从数据库中获取文件名..
$FList = $dl->select('dosyaYolu0, dosyaYolu1, dosyaYolu2, dosyaYolu3, dosyaYolu4')->table('tb_gelenEvrak')->where('mesajKodu', $filesnorm)->get();
$files = array(''.$FList->dosyaYolu0.'', ''.$FList->dosyaYolu1.'', ''.$FList->dosyaYolu2.'',''.$FList->dosyaYolu3.'', ''.$FList->dosyaYolu4.'');
$zipname = $filesnorm.'.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
我尝试开发类似 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 循环以及它是否使它成为那种类型的压缩。请帮帮我。
我使用这样的方法,但如果您想检查并适应您的代码,我会从数据库中获取文件名..
$FList = $dl->select('dosyaYolu0, dosyaYolu1, dosyaYolu2, dosyaYolu3, dosyaYolu4')->table('tb_gelenEvrak')->where('mesajKodu', $filesnorm)->get();
$files = array(''.$FList->dosyaYolu0.'', ''.$FList->dosyaYolu1.'', ''.$FList->dosyaYolu2.'',''.$FList->dosyaYolu3.'', ''.$FList->dosyaYolu4.'');
$zipname = $filesnorm.'.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);