0

我正在使用 ZipArchive() 将一堆 .txt 文件压缩在一起。有人可以给我一个示例,如何在将所有 .txt 文件放入 zip 之前从开头删除 ID?

例如:

  • 144-苹果.txt
  • 2-橙子.txt
  • 25555-香蕉.txt

将会:

  • 苹果.txt
  • 橘子.txt
  • 香蕉.txt

在拉链中。

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

2 回答 2

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);
    }
?>
于 2012-12-07T20:04:10.477 回答
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();
于 2012-12-07T20:04:02.180 回答