<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Создание ZIP-архива на PHP

Создание ZIP-архива на PHP

Вчера на форуме у меня спросили про создание ZIP-архивов на PHP. Я немного подумал и понял, что это тема будет интересна большому числу людей, ведь ZIP-архивирование на PHP весьма популярная тема. И в этой статье я покажу пример, как создаётся ZIP-архив через PHP-скрипт.

Давайте я сразу приведу пример создания ZIP-архива, а потом его тщательно прокомментирую:

<?php
  $zip = new ZipArchive(); //Создаём объект для работы с ZIP-архивами
  $zip->open("archive.zip", ZIPARCHIVE::CREATE); //Открываем (создаём) архив archive.zip
  $zip->addFile("index.php"); //Добавляем в архив файл index.php
  $zip->addFile("styles/style.css"); //Добавляем в архив файл styles/style.css
  $zip->close(); //Завершаем работу с архивом
?>

В результате выполнения данного скрипта появится ZIP-архив, у которого в корне будет лежать файл index.php, а также будет создана директория styles, в которой будет находиться файл style.css. Я думаю, что это всё очевидно и логично. А теперь комментирую, что мы с Вами делали:

  • Создали объект ZipArchive с помощью конструктора.
  • Создали архив с помощью метода open() объекта ZipArchive. Мы передали название архива (archive.zip) и константу ZIPARCHIVE::CREATE, которая сообщает, если архива не существует, то его надо создать.
  • Метод addFile() добавляет в архив файлы. Сначала мы добавили файл "index.php", который находится в одной директории со скриптом. Далее мы добавили файл style.css, так же указав к нему правильный путь относительно скрипта.
  • Метод close() завершает работу с архивом. Всегда его выполняйте, чтобы освободить ресурсы компьютера, а также избежать самых различных проблем, связанных с работой этого скрипта и других скриптов, которым необходим доступ к этому архиву.

Вот таким простым способом Вы можете создавать в автоматическом режиме ZIP-архивы с помощью PHP. В следующей статье мы с Вами разберём, как извлекать ZIP-архив через PHP.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (21):

ankalitkin ankalitkin 31.10.2011 19:43:25

Напишите статью о том, как создать дерево файлов в каталоге и в подкаталогах.

Ответить

Admin Admin 31.10.2011 19:50:00

Не очень понятно, что означает "как создать дерево файлов"? Это просто вывести на страницу список всех каталогов, подкаталогов, файлов, файлов внутри подкаталогов и так далее. Вы это хотите?

Ответить

ankalitkin ankalitkin 31.10.2011 20:27:35

Да, конечно так. Я пытался так сделать, но у меня работало с ошибками.

Ответить

Admin Admin 31.10.2011 20:30:47

Хорошо, напишу в пятницу такую статью.

Ответить

ankalitkin ankalitkin 31.10.2011 21:01:21

Это будет интересно. Спасибо.

Ответить

Domino Domino 20.07.2012 06:52:12

А как в архив добавить папку с под папками и файлами чтоб не добавлять все файлы в ручную?

Ответить

Admin Admin 20.07.2012 12:58:56

Так просто нельзя. Всё равно придется создавать создавать каждую папку как пустую и в неё уже добавлять файлы.

Ответить

malina95 malina95 24.12.2012 21:05:14

Михаил, а почему при создании объекта на строку с объектом $zip = new ZipArchive(); выдаёт ошибку ("Fatal error: Class 'ZipArchive' not found in X:\home\oop.local\www\zip.php on line 16") файл zip.php у меня является классом

Ответить

Admin Admin 24.12.2012 21:08:55

Нет расширения этого php_zip.dll

Ответить

malina95 malina95 24.12.2012 21:16:34

Это получается что вообще нельзя создавать архивы? Это ведь Денвер

Ответить

Admin Admin 24.12.2012 21:20:34

Установите дополнительные модули, их можно скачать на официальном сайте.

Ответить

malina95 malina95 24.12.2012 21:31:24

Дали бы сразу и ссылку в этой статье на расширение.

Ответить

Rubincik Rubincik 20.01.2013 01:09:47

А как создать поисковую систему?

Ответить

Admin Admin 20.01.2013 10:55:55

Также как и обычный сайт, для которого нужен движок. Вот курс по движкам: http://srs.myrusakov.ru/php

Ответить

Rubincik Rubincik 20.01.2013 13:35:08

а вы можете создать поисковик и почем создадите?

Ответить

Admin Admin 20.01.2013 20:41:16

Все заказы я принимаю на myrusakov-order@mail.ru

Ответить

AntDant AntDant 23.03.2013 05:31:08

Михаил я когда скопировал ваш код то ошибок денвер не дал, но архива так и не появилось?

Ответить

Admin Admin 23.03.2013 07:12:27

В коде архивируются определённые файлы, видимо, у Вас этих файлов нет. Поэтому просто скопировать не получится.

Ответить

vladlaas vladlaas 06.02.2014 01:02:01

Михаил, скажите а запаролить можно архив по средствам php?

Ответить

tikkiwiki tikkiwiki 12.02.2014 11:57:29

Здравствуйте, vladlaas. Нельзя.

Ответить

tr-td table tr-td table 10.06.2014 10:14:35

Не создаёт архив.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.