dr.Brain

doctor Brain

мир глазами веб-разработчика

PHP: архив

создаем zip-файл с помощью php

dr.Brain

время чтения 2 мин.

Photo by Anna Evans on Unsplash

В веб-разработке динамическое создание ZIP-файлов является распространенной задачей. Например, может потребоваться сжать несколько файлов или папку для оптимизации загрузки информации или для создания резервных копий. PHP предоставляет простой способ сжатия файлов с помощью класса ZipArchive.

Давайте разберемся, как программно создавать ZIP-файлы с помощью PHP.

ZipArchive

Класс ZipArchive — это встроенный класс PHP, который позволяет создавать, читать и извлекать ZIP-архивы. Он предоставляет простой интерфейс для управления ZIP-файлами непосредственно из ваших PHP-скриптов.

Требования

  1. PHP 5.2.0 и выше: ZipArchive доступен в версиях PHP 5.2.0 и более поздних.
  2. PHP ZIP: Убедитесь, что расширение PHP ZIP включено на вашем сервере. Если вы используете локальную среду разработки, его может потребоваться включить вручную в файле php.ini.

Пошаговое руководство

Создаем zip-файл

Чтобы создать ZIP-файл, сначала создайте экземпляр класса ZipArchive и укажите имя ZIP-файла, который хотите создать.

<?php
// Create a new instance of ZipArchive
$zip = new ZipArchive();

// Specify the name of the ZIP file
$zipFileName = 'my_archive.zip';

// Open the ZIP file for writing. If the file doesn't exist, it will be created
if ($zip->open($zipFileName, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
    echo 'ZIP file created successfully!';
} else {
    echo 'Failed to create the ZIP file.';
}

Добавляем файлы в zip

После открытия ZIP-файла можyj добавлять в него файлы с помощью метода addFile():

<?php
if ($zip->open($zipFileName, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
    // Add files to the ZIP archive
    $zip->addFile('file1.txt', 'file1.txt');  // Add file1.txt to the root of the archive
    $zip->addFile('file2.jpg', 'file2.jpg');  // Add file2.jpg to the root of the archive

    // Close the ZIP file
    $zip->close();
    echo 'Files added to ZIP file!';
} else {
    echo 'Failed to create the ZIP file.';
}

Заключение

Класс PHP ZipArchive предлагает простое решение для создания и управления архивами ZIP. Следуя шагам, описанным в этом руководстве, можно эффективно создавать ZIP-архивы как из отдельных файлов, так и из целых каталогов.


Спасибо за внимание.


Перевод статьи Asif Sheikh “Create Zip File Using PHP”.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.