Как создать zip архив на php?

Пользователь

от raina , в категории: PHP , 3 года назад

Как создать zip архив на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@raina Самый простой способ это использовать ZipArchive класс чтобы создать zip архив на PHP, ниже пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php

// Создать класс
$zip = new ZipArchive();
if ($zip->open('text.zip', ZipArchive::CREATE) === TRUE)
{
    // Добавить текстовый файл в zip архив
    $zip->addFile('test.txt');

    // Закрыть и сохранить
    $zip->close();
}


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от vladimir , 2 года назад

@raina 

Чтобы создать zip-архив на PHP, вам необходимо использовать расширение Zip. Для начала необходимо убедиться, что расширение Zip установлено на вашем сервере. Если вы используете стандартную установку PHP, расширение Zip должно быть установлено по умолчанию.


Для создания zip-архива на PHP, используйте следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<?php
// Создаем новый объект класса ZipArchive
$zip = new ZipArchive();

// Создаем новый архив
$zip_name = 'example.zip';
if ($zip->open($zip_name, ZIPARCHIVE::CREATE) !== TRUE) {
    die('Ошибка создания архива');
}

// Добавляем файлы в архив
$zip->addFile('file1.txt');
$zip->addFile('file2.txt');
$zip->addFile('file3.txt');

// Закрываем архив
$zip->close();

echo 'Архив создан';
?>


В этом примере мы создаем новый объект класса ZipArchive и открываем новый архив с помощью метода open(). Мы добавляем файлы в архив с помощью метода addFile(), указывая путь к файлу в качестве аргумента. Наконец, мы закрываем архив с помощью метода close().


Обратите внимание, что при вызове метода open() мы передаем константу ZIPARCHIVE::CREATE. Это означает, что если файл с таким именем уже существует, он будет перезаписан.


Также обратите внимание, что если у вас есть файлы в разных директориях, вы можете указать полный путь к файлу в качестве аргумента метода addFile(). Например, $zip->addFile('/path/to/file.txt');.