Как распаковать ZIP архив на FTP-сервере

Если Вам приходится достаточно часто копировать на FTP-сервер скрипты, содержащие большое количество файлов (например, системы управления сайтом, блоги), то можно применить гораздо более удобный способ их закачки – первоначально упаковать в ZIP архив и в последствии распаковать прямо на сервере. Согласитесь, что процесс закачки проходит ...

Комментарии (82)

  1. Прекрасный скрипт. Отмечу, что тот-же механизм действует и для разархивирования любых .zip. Просто файлы index.php и pclzip.lib.php копируются в папку с архивом. После чего меняется атрибут папки, а далее по тексту.
    За скрипт особая благодарность.)))))

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

  3. А нет ли скрипта для упаковки (архивирования сайта) для последующей закачки по ФТП на локалку?

  4. Никита
    11 лет назад

    Да, замечательный скрипт. А тот что упаковывает есть?

  5. Отличная прога! Поюзаю, Как раз то , что нужно.

  6. для того чтобы сразу на все распакованные файлы из архива выставить права надо поправить код распаковки там надо добавить PCLZIP_OPT_SET_CHMOD, 0777 (читать здесь http://php.russofile.ru/ru/authors/unsort/zip/)

    А скрипт этот — просто заморочка под pclzip.lib.php, можете и сами написать )

  7. Спасибо. Супер идея! Работает на ура.

  8. Спасибо за скрипт! :)

    При использовании столкнулся-таки с проблемой смены прав доступа.

    Вот написал скриптик для рекурсивной смены прав доступа на файлы и папки:
    http://predvoditelev.ru/page/php_recursion_chmod

  9. Спасибо, отличные скрипты, много времени сэкономил :)

  10. Спасибо, прекрасно работает, даже права не ставил.

  11. Что за день такой, неработает PHP Unzipper, папки создались но они пустые файлов вних нет после распаковки. Также нельзя не у одного файла которые в главной папки сменить права.

  12. Я нашел в инете, что файлы становятся заблокированными, т.к они создаются от имени сервера.
    А что если сменить владельца рекурсивно для всех файлов. Нашел в php функции:
    int chgrp (string filename, mixed group); Функция пытается сменить группу-владельца данного файла.
    int chown (string filename, mixed user); Функция chown пытается сменить владельца файла.
    Только я не знаю как указать владельца, если сайт у кого то на хостинге лежит, как указать что я владелец файлов.

  13. Главный Лаборант
    9 лет 10 месяцев назад

    Спасибо! То что искал!
    А то надоело по одной папке кидать на FTP’ник :(

  14. А во тут — http://lazutov.ru/8-besplatnyx-ajaxphp-fajlovyx-menedzherov/ — есть список «8 бесплатных Ajax/php файловых менеджеров». Некоторые из них, как пишут, тоже умеют с архивами работать. Правда сам еще не проверял.

  15. м-м-м да , действительно , молодцы !!!
    удобно , классно придумали ))), круто , вот это действительно полезный скрипт !!!
    Надо мне будет подумать — как flex-овый интерфейс прикрутить

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

  17. цены нет

  18. Dimox, непойму как работает
    в index.php пишу логин и пароль для регистрации -> пишет что регистрация умпешна и сслыка на авторизацию -> нажимаю и перехожу опять на поля для регистрации.
    Как нормально залогиниться?

  19. Ой спасибо за скрипт, давно искал подобный ато замучился заливать так. Сейчас буду тестить

  20. Nic.Как решил свою проблему?Если не решил то помогите кто знает что делать в данном случае?
    Warning: fopen(pass.php) [function.fopen]: failed to open stream: Permission denied in /home/temanarodru/domains/tema.narod.ru/public_html/index.php on line 163

    Warning: fputs(): supplied argument is not a valid stream resource in /home/temanarodru/domains/tema.narod.ru/public_html/index.php on line 164

    Warning: fclose(): supplied argument is not a valid stream resource in /home/temaorkz/domains/tema.or.kz/public_html/index.php on line 165
    Registration succeeded!
    Вот Указанные строки
    163 $fn = fopen(‘pass.php’,’w’);
    164 fputs($fn, ‘\n»);
    165fclose($fn);
    что в них менять надо?Заранее признателен за помощь!