Самые активные пользователи:

  • UnInstaller ( 199 сообщений )
  • vizit ( 101 сообщение )
  • San4o ( 71 сообщение )
  • Apostol ( 60 сообщений )
  • avattar ( 22 сообщения )
  • Kruger ( 8 сообщений )
  • haks ( 7 сообщений )
  • Poputchyk ( 6 сообщений )
  • etc ( 6 сообщений )
  • BOPOH ( 4 сообщения )
  • [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


    • Страница 1 из 1
    • 1
    Модератор форума: UnInstaller, San4o  
    Форум » Программирование и техника » WEB-программирование и Интернет » PHP: Создание ZIP архивов на лету
    PHP: Создание ZIP архивов на лету
    UnInstallerДата: Пятница, 27.03.2009, 21:33 | Сообщение # 1
    Admin
    Группа: Администраторы
    Сообщений: 199
    Дата регистрации: 23.02.2008
    Пол: Парень
    Откуда: Украина
    Репутация: 14
    Статус: Offline
    Углубляться в алгоритмы архивирования и сжатия я не буду, просто скачайте готовый класс createZip. Первоначальный источник данного класса к сожалению не помню, так что если вдруг найдется - прошу сообщить.

    Класс createZip обеспечивает полноценную работу с формированием нового ZIP архива, с возможностью его выдачи на лету или сохранения на диск. Покажу несколько простых приёмов.

    Ну, во-первых, нужно объявить объект данного класса:

    Code
    $createZip = new createZip;  

    Добавим в корень архива текстовый файл:

    Code
    $fileContents = "Hello world!";
    $createZip->addFile($fileContents, "textfile.txt");

    Создадим новую директорию:

    Code
    $createZip->addDirectory("images/");

    Ну а теперь допустим у нас есть картинка image.png в директории где выполняется данный скрипт. Загрузим эту картинку в директорию images нашего архива:

    Code
    $fileContents = file_get_contents("image.png");
    $createZip->addFile($fileContents, "images/image.png");

    Сохраняем архив на диск и выдаём посетителю ссылку:

    Code
    $filename = "archive.zip";
    $fd = fopen($filename, "wb");
    $out = fwrite($fd, $createZip->getZippedfile());
    fclose($fd);

    echo "Скачать архив: <a href=\"$filename\">$filename</a>";

    Всё достаточно легко и просто. При желании, можно выдать архив на лету, после чего его сразу удалить. В классе для этого есть вспомогательная функция forceDownload.



    http://vkontakte. ru/prog_mc
    http://vkontakte. ru/metallizard
    Форум » Программирование и техника » WEB-программирование и Интернет » PHP: Создание ZIP архивов на лету
    • Страница 1 из 1
    • 1
    Поиск:


    Copyright UnInstallerSofT © 2024 V1T.RU