保存为zip而不是tar

时间:2016-10-12 13:25:15

标签: php

是否可以将其更改(存档为tar)以zip格式存档?我不擅长php

if (ARCHIVE && isset($_GET['archive']))
{
    $log -> add_entry('Directory archived');
    $outfile = Item::get_basename($subdir);
    if ($outfile == '' || $outfile == '.')
    {
        $outfile = 'base_dir';
    }
    $mime = new MimeType('.tar');
    header('Content-Type: ' . $mime -> __toString());
    header('Content-Disposition: attachment; filename="'
    . $outfile . '.tar"');
    @set_time_limit(0);
    $list = new DirectoryList($dir);
    $tar = new Tar($list, $outfile, strlen($dir));
    die();
}

1 个答案:

答案 0 :(得分:0)

是的,您可以使用PHP ZipArchive对象。

即。 (来源链接):

<?php

$files = array('image.jpeg','text.txt','music.wav');
$zipname = 'enter_any_name_for_the_zipped_file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
  $zip->addFile($file);
}
$zip->close();

希望它有所帮助。