m0pfin
@m0pfin

Архивирование папки в ZIP на PHP?

Всем привет, как архивировать содержимое папки в ZIP если "папка" это переменная с путём до папки.
Посмотрел классы для этого, но от классов я видимо далёк, и на разобрался как сделать рабочий код -_-

Была такая попытка:
<?php
require_once "ZipStream.php";

class ZipOutput {
    private $files = array();

    /**
     * @param array $files
     */
    public function setFiles($file_list)
    {
        $this->files = $file_list;
    }

    /**
     * @return array
     */
    public function sendCompressed (){
        $zip = new ZipStream("Files.zip");
        foreach ($this->files as $file)
        {
            $zip->addLargeFile($file['filepath_local'], basename($file['filepath']));
        }
        $zip->finalize();
    }
}

?>

Ссылка на класс с GIT
Git
  • Вопрос задан
  • 3278 просмотров
Решения вопроса 1
@phpkoder
Web-програмист
В php есть встроенный класс для работы с zip-архивами ZipArchive
посмотри здесь:

php.net/manual/ru/book.zip.php
janicky.com/stati/rabota-s-zip-arhivami-v-php
<?php
 
$zip = new ZipArchive();
 
$zip->open('archive1.zip', , ZIPARCHIVE::CREATE);
$files = scandir($papka); // $papka перем. с путэм к папке
foreach($files as $file){
    if ($file == '.' || $file == '..' ){continue;}
    $f = $papka.DIRECTORY_SEPARATOR.$file;
     $zip->addFile($f);
}
$zip->close();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы