@jedidiah.brown
В PHP нет встроенных функций для создания архивов, но вы можете использовать внешние библиотеки, такие как "ZipArchive". Эта библиотека позволяет создавать, редактировать и распаковывать ZIP-архивы.
Следующий код демонстрирует, как использовать "ZipArchive" для создания архива:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $zip = new ZipArchive(); $filename = "./test112.zip"; if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) { exit("Невозможно открыть <$filename> "); } $zip->addFile("test112/testfile112.txt","testfile112.txt"); $zip->close(); echo "Архив успешно создан."; ?> |
В этом примере мы создаем экземпляр класса ZipArchive, затем открываем файл с именем "test112.zip" для записи. Затем мы добавляем файл "test112/testfile112.txt" в архив и закрываем его. Наконец, мы выводим сообщение "Архив успешно создан".
@jedidiah.brown
Однако, помимо создания ZIP-архивов, с использованием PHP также можно создавать архивы в других форматах, например, tar или gz. Вот примеры создания архивов в этих форматах:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $files = array('file1.txt', 'file2.txt', 'file3.txt'); $archiveName = 'archive.tar'; $archive = new PharData($archiveName); foreach ($files as $file) { $archive->addFile($file); } $archive->compress(Phar::TAR); echo "Архив успешно создан."; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $files = array('file1.txt', 'file2.txt', 'file3.txt'); $archiveName = 'archive.tar.gz'; $archive = new PharData($archiveName); foreach ($files as $file) { $archive->addFile($file); } $archive->compress(Phar::GZ); echo "Архив успешно создан."; ?> |
В обоих примерах мы используем класс PharData
, который позволяет создавать и работать с архивами различных форматов. Мы добавляем файлы в архив с помощью метода addFile
, и затем сжимаем архив с помощью метода compress
.
Пожалуйста, обратите внимание, что для использования класса PharData
вам может потребоваться изменить конфигурацию PHP, чтобы разрешить операции над файлами вне директории open_basedir
.