0

ZipArchive() を使用して、多数の .txt ファイルをまとめて圧縮しています。zip に配置する前に、すべての .txt ファイルの先頭から ID を削除する方法の例を教えてください。

例えば:

  • 144-apples.txt
  • 2-オレンジ.txt
  • 25555-バナナ.txt

になります:

  • apples.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 に答える