是否可以使用PHP打开和编辑zip文件内的文件?

时间:2011-08-10 13:17:38

标签: php zip session-cookies sessionid

我正在开发一个WordPress主题,需要升级配置才能正常工作。

当我说配置时,我的意思是需要稍微编辑config.php(设置一些变量值)。

现在我想知道是否有可能进入一个zip文件,制作一个完整的临时副本(对于特定用户。也许使用会话ID?)并编辑副本中的config.php文件来设置一些变量值。然后关闭临时zip文件并回显用户的文件链接,准备下载。

将设置的变量值将来自我的网站上用户下载主题的表单。

这只是一厢情愿的想法,还是我有机会?

谢谢!

3 个答案:

答案 0 :(得分:2)

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

<?php
    $zip = new ZipArchive;
    $res = $zip->open('yourarchive.zip');
    if ($res === TRUE) {
        $zip->extractTo('/my/destination/dir/', 'config.php');

        // do your edits to the file

        $zip->addFile('config.php');
        $zip->close();
    }
?>

答案 1 :(得分:1)

这完全可以使用ZipArchive类。用它打开,创建,扩展和保存Zip档案。

答案 2 :(得分:1)

确定它是可能的。

但是,您需要编写一些能够满足您需求的PHP代码。

在php.net网站上,您可以在http://php.net/manual/en/book.zip.php

找到zip功能的文档

我不会为您编写任何代码,但您需要取消的步骤如下:

1. copy zip file to temp area
2. open temp zip file
3. extract file from zip to temp area
4. delete file from temp zip
5. do changes to file in temp area
6. add temp file to zip
7. close zip file
8. stream zip file to client
9. delete temp files.