如何解压缩文件夹并删除压缩的原件?

时间:2010-05-10 14:55:29

标签: php zip unzip delete-file rights-management

我正在为CMS创建类似easy installer \ setupper的东西。当用户使用我的CMS下载.zip并将其解压缩到他的php服务器上的某个文件夹时,他会看到一个文件 - install.php和一个名为的Contents文件夹 - Contents.zip我需要一些php函数来从Contents.zip zip文件中提取文件而不是删除该文件。 (如果有可能,我想在文件夹解压后立即从文件\文件夹中提取不同的权限)

怎么做这样的事情?

1 个答案:

答案 0 :(得分:2)

您可以使用PHP ZipArchive library为您服务。

另外,您可能会发现code example from the documentation有用。

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>

要更改文件权限,您可以使用PHP builtin function chmod.

例如

chmod("/somedir/somefile", 0600);

删除您可以使用的文件php builtin unlink

例如,

unlink('test.html');
unlink('testdir');

我强烈建议您通过官方PHP文档。