Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

Добавление/Извлечение файла в ZIP-архив с помощью PHP

Добавление файла в ZIP-архив с помощью PHP

$filepath = 'my_archive.zip';
$zip = new ZipArchive;
// Создаем архив
if ($zip->open($filepath, ZipArchive::CREATE) === TRUE){
   // первый параметр - откуда взять, второй как назвать внутри архива
   $zip->addFile('/download/ReadMe.txt', 'ReadMe.txt');
   // Создать внутри архива файл и записать в него содержимое
   $zip->addFromString('ReadMe.txt','Архив скачан с сайта htmlweb.ru');
   // закрыть архив
   $zip->close();
}else echo 'Ошибка открытия файла архива!';

Извлечение всех файлов из архива

$zip = new ZipArchive;
if ($zip -> open('archive.zip') === TRUE)
{
    // Извлекаем файлы из архива в папку kdg
    $zip -> extractTo('kdg');
    $zip -> close();
    echo 'Архив распакован';
}
else echo 'Ошибка при извлечении файлов из архива';

Создание архива и добавление в него всех файлов из директории

$pathdir='kdg';
$zip = new ZipArchive;
if ($zip -> open('images.zip', ZipArchive::CREATE) === TRUE)
{
    $dir = opendir( $pathdir );
    while( $d = readdir( $dir ) ){
            echo "Добавляем в архив файл ".$d." размером ".filesize( $pathdir.$d )."<br />";
            $zip -> addFile( $pathdir.'/'.$d, $d);          
    }
    $zip -> close();
    echo 'Файлы добавлены в архив';
}
else echo 'Ошибка!';

Добавление комментария в ZIP-архив с помощью PHP

$filepath = 'my_archive.zip';
$zip = new ZipArchive;
if ($zip->open($filepath) === TRUE){
   $zip->setArchiveComment('Архив скачан с сайта htmlweb.ru');
   $zip->close();
}else echo 'Ошибка открытия файла архива!';

.