PHP的ZipArchive类可以用来创建、读取、编辑和删除ZIP文件。以下是一些基本的使用示例:
- 创建一个新的ZIP文件并添加文件到它:
open('example.zip', ZipArchive::CREATE) !== TRUE) { exit('无法打开 <$zip_file>\n'); } $zip->addFile('test.txt', 'test.txt'); $zip->close(); ?>
- 读取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'; } ?>
- 从ZIP文件中提取所有文件到指定目录:
open('example.zip') === TRUE) { $zip->extractTo('/path/to/extraction/directory'); $zip->close(); } else { echo '无法打开 <$zip_file>\n'; } ?>
- 删除ZIP文件中的特定文件:
open('example.zip') === TRUE) { $zip->deleteIndex(0); // 删除索引为0的文件 $zip->close(); } else { echo '无法打开 <$zip_file>\n'; } ?>
- 在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文件。根据你的需求,你可能需要对这些示例进行调整。