php如何壓縮文件夾

PHP
小億
110
2024-08-01 20:06:08

在PHP中,你可以使用ZipArchive類(lèi)來(lái)壓縮文件夾。以下是一個(gè)簡(jiǎn)單的示例代碼:

$zip = new ZipArchive();
$zipFileName = 'compressed.zip';

if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE) {
    $dir = 'folder_to_compress';
    
    $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));

    foreach ($files as $file) {
        if (!$file->isDir()) {
            $filePath = $file->getRealPath();
        $relativePath = substr($filePath, strlen($dir) + 1);
        $zip->addFile($filePath, $relativePath);
        }
    }
    
    $zip->close();
    
    echo 'Folder compressed successfully.';
} else {
    echo 'Failed to compress folder.';
}

在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)ZipArchive對(duì)象,然后打開(kāi)一個(gè)新的zip文件。我們使用RecursiveIteratorIterator和RecursiveDirectoryIterator來(lái)遍歷文件夾中的所有文件,并將它們添加到zip文件中。最后,我們關(guān)閉zip文件并輸出相應(yīng)的消息。

請(qǐng)注意,你需要確保你的PHP環(huán)境支持ZipArchive擴(kuò)展。

0