АРМАДА
Изменение прав на папки
Новая тема Написать ответ Advanced Hosters - профессиональный хостинг

Koshel +
Свой
Зарегистрирован: 14.07.2009
Сообщений: 46
Обратиться по нику
# Добавлено:Ср Окт 12, 2016 9:25 amДобавить в избранноеОтветить с цитатой
Удобно менять права на все папки сайта выполняя php
Код:
 <?php
    function chmod_R($path, $perm) {

       $handle = opendir($path);
       while ( false !== ($file = readdir($handle)) ) {
         if ( ($file !== ".") && ($file !== "..") ) {
           if ( is_file($path."/".$file) ) { //если текущая позиция это файл то... 
             chmod($path . "/" . $file, $perm['f']);
           }
           else { //если текущая позиция это папка то... 
             chmod($path . "/" . $file, $perm['d']);
             chmod_R($path . "/" . $file, $perm); // рекурсивно проверяем папочку
           }
         }
       }
       closedir($handle);
    }

    $path = $_SERVER["QUERY_STRING"];

    if ( $path{0} != "/" ) {
        $path = $_SERVER["DOCUMENT_ROOT"] . "/" . $path;
    }

    $perm=array();
    $perm['f']=0444; // эти права будут установлены для файлов
    $perm['d']=0555; // а эти для папок
    chmod_R($path, $perm);
    echo $path;
    ?>


а как прописать в этом же коде исключение для ряда папок?

isleman
Свой
Зарегистрирован: 11.11.2016
Сообщений: 4
Обратиться по нику
# Добавлено:Пт Ноя 11, 2016 7:21 pmОтветить с цитатой
Меняете вот этот участок
Код:

else { //если текущая позиция это папка то... 
    chmod($path . "/" . $file, $perm['d']);
    chmod_R($path . "/" . $file, $perm); // рекурсивно проверяем папочку
}


так:
Код:

else { //если текущая позиция это папка то... 
    if(($path . "/" . $file) != 'путь к папке которую надо исключить') {
        chmod($path . "/" . $file, $perm['d']);
        chmod_R($path . "/" . $file, $perm); // рекурсивно проверяем папочку
    }
}


если папок которые надо исключить несколько то смотрите как работать с проверкой наличия конктретного значения(пути к папке которую надо исключить) в масcиве и делайте его в if
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ

Перейти:  





Генеральный спонсор



Партнеры