За последние 24 часа нас посетили 17785 программистов и 1625 роботов. Сейчас ищут 1337 программистов ...

Архивация на php. Установка прав доступа

Тема в разделе "PHP для новичков", создана пользователем idimka, 16 мар 2012.

  1. idimka

    idimka Активный пользователь

    С нами с:
    22 фев 2012
    Сообщения:
    8
    Симпатии:
    0
    Здравствуйте!

    Нужно:
    при архивации выставить права файлам
    (это нужно для последующей разархивации в панели хостера, чтоб нужные файлы сразу были с нужными правами).

    Мне нужен именно скрипт-архиватор на php.
    Запускать его буду из под денвера.

    Подскажите либо какую-то библиотеку или способ(?) или готовый вариант :)

    Как архивирую сейчас:
    Код (Text):
    1. require_once('pclzip.lib.php');//версия библиотеки v 1.60, 2009/09/30
    2.  
    3. $name="../zip/1.zip";
    4. $filename = "archive";
    5.  
    6. if (file_exists($name))unlink ($name);//если архив уже есть, то удалить его
    7. chmod("../out/index.php", 0777);//этот способ не работает
    8. $archive = new PclZip($name);
    9. $archive->add('../out', PCLZIP_OPT_REMOVE_PATH, "../out", PCLZIP_OPT_ADD_PATH, $filename);
    Курил вот этудокументацию по библиотеке PCLZip, нашел только как поставить права при разархивации.

    При запуске данного скрипта на хостинге и архивации файла, у которого уже были права 777, скрипт его все равно запаковал с правами 644. Дело видимо в самой библиотеке, какую еще использовать я не знаю.
     
  2. NeoXidant

    NeoXidant Активный пользователь

    С нами с:
    8 фев 2010
    Сообщения:
    121
    Симпатии:
    1
    помоему вы не понимаете, чего хотите
    в Windows (вы же из под него запускаете скрипт?) нет такой системы прав, как в линуксе, соотвественно у файла нет атрибута "Права" в используемом линуксом формате, соотвественно задать права невозможно.
    да и скорее всего права "644" - это дефолт в настройках системы у хостинга для новых файлов

    а задать права файлу заочно и передать кому-то с такими же правами невозможно, иначе толку от этих прав небыло бы: злоумышленник дает своему трояну права 777 и распространяет по сети, он автоматически у всех выполняется, что за бред?
     
  3. idimka

    idimka Активный пользователь

    С нами с:
    22 фев 2012
    Сообщения:
    8
    Симпатии:
    0
    спасибо, за ответ. вполне возможно, что я чего-то не понимаю :)

    я знаю, что под windows на денвере, возможно не получится поставить права, поэтому я скрипты еще проверяю на хостинге.

    если я в панели хостера(панель ISPmanager) запаковываю файлы (с правами), а потом их распаковываю (даже на др. хостинге), права остаются (от типа архива не зависило). Я понимаю, что в панели файлы архивируется не скриптом php, но может возможно такое сделать и на php? Вот это я и хотел узнать.
     
  4. AndreJM

    AndreJM Активный пользователь

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0
    http://www.php.ru/manual/refs.compression.html