PHP: архив
создаем zip-файл с помощью php
В веб-разработке динамическое создание ZIP-файлов является распространенной задачей. Например, может потребоваться сжать несколько файлов или папку для оптимизации загрузки информации или для создания резервных копий. PHP предоставляет простой способ сжатия файлов с помощью класса ZipArchive
.
Давайте разберемся, как программно создавать ZIP-файлы с помощью PHP.
ZipArchive
Класс ZipArchive
— это встроенный класс PHP, который позволяет создавать, читать и извлекать ZIP-архивы. Он предоставляет простой интерфейс для управления ZIP-файлами непосредственно из ваших PHP-скриптов.
Требования
- PHP 5.2.0 и выше:
ZipArchive
доступен в версиях PHP 5.2.0 и более поздних. - 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”.