Bry*_*ant 16 php zip web-applications
我的服务器上有一个ZIP文件.我想创建一个PHP文件,loadZIP.php,它将接受一个参数,然后修改ZIP中的文本文件以反映该参数.
因此,访问loadZIP.php?param=blue,将打开zip文件,并替换我用'blue'指定的文本文件中的一些文本,并允许用户下载此编辑的zip文件.
我已查看了所有PHP ZIP函数,但我找不到简单的解决方案.这似乎是一个相对容易的问题,我相信我已经过度思考了.在我去写一些过于复杂的函数之前,我想知道你是怎么做到这一点的.
cla*_*rkf 32
你看过PHP5的ZipArchive功能了吗?
基本上,您可以使用ZipArchive::Open()打开zip,然后ZipArchive::getFromName()将文件读入内存.然后,修改它,用于ZipArchive::deleteName()删除旧文件,用于ZipArchive::AddFromString()将新内容写回zip,以及ZipArchive::close():
$zip = new ZipArchive;
$fileToModify = 'myfile.txt';
if ($zip->open('test1.zip') === TRUE) {
//Read contents into memory
$oldContents = $zip->getFromName($fileToModify);
//Modify contents:
$newContents = str_replace('key', $_GET['param'], $oldContents)
//Delete the old...
$zip->deleteName($fileToModify)
//Write the new...
$zip->addFromString($fileToModify, $newContents);
//And write back to the filesystem.
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
Run Code Online (Sandbox Code Playgroud)
注意ZipArchive是在PHP 5.2.0中引入的(但是,ZipArchive也可以作为PECL包提供).
| 归档时间: |
|
| 查看次数: |
6861 次 |
| 最近记录: |