如何在使用ZipArchive()添加到zip之前重命名.txt文件?

时间:2012-12-07 19:57:20

标签: php zip ziparchive

我正在使用ZipArchive()将一堆.txt文件压缩在一起。有人可以给我一个例子,说明如何从所有.txt文件的开头删除ID,然后再将它们放入zip中吗?

例如:

  • 144 apples.txt
  • 2- oranges.txt
  • 25555-bananas.txt

将是:

  • apples.txt
  • oranges.txt
  • bananas.txt

在拉链。

$name = str_replace(TXT_FILE_DIRECTORY . $group . '/', '', $file);
$zip->addFile($file, $name);

2 个答案:

答案 0 :(得分:4)

这样的事情应该有效:

<?php
    //Your $files array creation logic here
    foreach ($files as $file) {
        $fileName = preg_replace("/^\d+\-/", "", str_replace(TXT_FILE_DIRECTORY . $group . '/', '', $file));
        $zip->addFile($file, $fileName);
    }
?>

答案 1 :(得分:0)

也许您可以提供以下代码:

    $this->zipfile->add_dir(FCPATH."files/");
    for($u=$ini;$u<=$do;$u++){
        $this->zipfile->add_file(implode("",file(FCPATH."files/batchsql_".$u.".txt")), FCPATH."files/batchsql_".$u.".txt");
    }

    header("Content-type: application/octet-stream");
    header("Content-disposition: attachment; filename=zipfile.zip");
    echo $this->zipfile->file();