php ziparchive怎樣使用

PHP
小樊
81
2024-11-19 02:11:30

PHP的ZipArchive類可以用來(lái)創(chuàng)建、讀取、編輯和刪除ZIP文件。以下是一些基本的使用示例:

  1. 創(chuàng)建一個(gè)新的ZIP文件并添加文件到它:
<?php
$zip = new ZipArchive;
if ($zip->open('example.zip', ZipArchive::CREATE) !== TRUE) {
    exit('無(wú)法打開(kāi) <$zip_file>\n');
}

$zip->addFile('test.txt', 'test.txt');
$zip->close();
?>
  1. 讀取ZIP文件并列出其中的所有文件和目錄:
<?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 '無(wú)法打開(kāi) <$zip_file>\n';
}
?>
  1. 從ZIP文件中提取所有文件到指定目錄:
<?php
$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
    $zip->extractTo('/path/to/extraction/directory');
    $zip->close();
} else {
    echo '無(wú)法打開(kāi) <$zip_file>\n';
}
?>
  1. 刪除ZIP文件中的特定文件:
<?php
$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
    $zip->deleteIndex(0); // 刪除索引為0的文件
    $zip->close();
} else {
    echo '無(wú)法打開(kāi) <$zip_file>\n';
}
?>
  1. 在ZIP文件中添加一個(gè)新文件,并保留原始文件的權(quán)限和時(shí)間戳:
<?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 '無(wú)法打開(kāi) <$zip_file>\n';
}
?>

這些示例展示了如何使用PHP的ZipArchive類來(lái)處理ZIP文件。根據(jù)你的需求,你可能需要對(duì)這些示例進(jìn)行調(diào)整。

0