为什么压缩tar文件到gz后,文件名已被更改?

时间:2017-08-23 08:39:54

标签: php compression gz

private function compress($compressPath)
{
    $tarDir= $compressPath . ".tar";
    $c = new PharData($tarDir);
    \FileHandle::getAllFiles($compressPath, $filesList);
    foreach ($filesList as $file) {
        $c->addFile($file, basename($file));
    }
    $c->compress(Phar::GZ);
    unset($c);
    FileHandle::deleteDir($compressPath);
    unlink($tarDir);
}

您好。 我的tar名称是“Name1.0.1pro.tar”。将tar文件压缩为gz后,gz文件名已更改为“Name1.tar.gz”。如何保持名称相同?

1 个答案:

答案 0 :(得分:1)

在Phar的source code中,似乎他们通过搜索第一次出现的'来找到文件名。' (一个点)。比拆分那样获得扩展名和文件名。 (注意:我没有阅读完整的3621行代码)

所以,我建议你使用php rename在文件创建后重命名。