【问题标题】:Write file inside zip or compress file在 zip 中写入文件或压缩文件
【发布时间】:2025-11-29 12:10:02
【问题描述】:

我对此一无所知,因此我在这里提出了我的问题

例如,如果我在 zip 文件或其他类型的压缩文件中有一个包含此内容的文件:

<?php
$name="Jhon";
$phone="123456789";
$city="London";
?>

我想例如访问此文件并从表单中写入以更改一些信息,并且还可以从 zip 文件或压缩文件、tar 等中读取和所有内容

我还想将此文件包含在此 zip 中的一个文件中以获取信息

用 php 可以做到这一点,或者其他方面是不可能的?

谢谢,最好的问候

【问题讨论】:

  • 你不能“在 zip 内”工作。您从 zip 中解压缩文件,进行修改,然后将其重新添加到 zip 中,替换原始版本。
  • 是的,这是可能的,但最重要的是它可能在一个 php 文件中包含 zip 内的文件?
  • 是的,您可以在 php 中处理 zip:php.net/manual/en/ziparchive.open.php

标签: php zip compression


【解决方案1】:

您可以提取文件,对其进行更改,然后将其重新添加回存档(假设您安装了 ZipArchive 类)。

$zip = New \ZipArchive;
$res = $zip->open('yourarchive.zip');
if (true === $res) 
{
    $zip->extractTo('/my/destination/dir/', 'test.php');

    $contents = file('*your filename*');
    foreach ($contents as $line) 
    {
        //perform alterations;
    }

    unset ($contents[2]); //remove line 2;
    $contents[] = "aaaa"; //append "aaaa" to the end of the file

    file_put_contents('test.php', $contents);

    // do your edits to the file
    $zip->addFile('test.php');
    $zip->close();
}

【讨论】: