PHP的ZipArchive类可以用来创建、读取、编辑和删除ZIP文件。以下是一些基本的使用示例:
<?php
$zip = new ZipArchive;
if ($zip->open('example.zip', ZipArchive::CREATE) !== TRUE) {
exit('无法打开 <$zip_file>\n');
}
$zip->addFile('test.txt', 'test.txt');
$zip->close();
?>
<?php
$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
for ($i = 0; $i < $zip->numFiles; $i++) {
echo '文件 ' . $i . ': ' . $zip->getNameIndex($i) . PHP_EOL;
}
$zip->close();
} else {
echo '无法打开 <$zip_file>\n';
}
?>
<?php
$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
$zip->extractTo('/path/to/extraction/directory');
$zip->close();
} else {
echo '无法打开 <$zip_file>\n';
}
?>
<?php
$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
$zip->deleteIndex(0); // 删除索引为0的文件
$zip->close();
} else {
echo '无法打开 <$zip_file>\n';
}
?>
<?php
$zip = new ZipArchive;
if ($zip->open('example.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
$zip->addFile('source.txt', 'destination.txt');
$info = pathinfo('source.txt');
$zip->setTimestamp($info['basename'], strtotime($info['change']))->setMode($info['basename'], 0644);
$zip->close();
} else {
echo '无法打开 <$zip_file>\n';
}
?>
这些示例展示了如何使用PHP的ZipArchive类来处理ZIP文件。根据你的需求,你可能需要对这些示例进行调整。